Educational Codeforces Round 146 (Rated for Div. 2) - B. Long Legs(思维 数学)

news2025/1/15 16:31:15

题目如下:

在这里插入图片描述
在这里插入图片描述
题目链接

题解 or 思路:

我们可以发现我们有两个可选的入手方向:
1.正推
2.反推
我们可以发现正推似乎看不出来什么东西,而反推可以发现一个性质!
性质如下:
我们假设最终的腿长为 M M M
可以得到下面的等式:
c n t = ⌈ a M ⌉ + ⌈ b m ⌉ + M − 1 cnt = \left\lceil\dfrac{a}{M}\right\rceil + \left\lceil\dfrac{b}{m}\right\rceil + M -1 cnt=Ma+mb+M1

首先我们将腿变成 M M M 需要 M − 1 M - 1 M1 次操作
假设:
a m o d    M = x a \mod M = x amodM=x
a m o d    M = y a \mod M = y amodM=y
一定有:
x < M x < M x<M
y < M y < M y<M

我们可以操作 2 2 2 次就可以完成各自除剩余的那一部分
然后我们的腿长就会先变到 M M M
最后走完剩下的路程
⌈ a M ⌉ + ⌈ b M ⌉ \left\lceil\dfrac{a}{M}\right\rceil + \left\lceil\dfrac{b}{M}\right\rceil Ma+Mb

所以易得:
c n t = ⌈ a M ⌉ + ⌈ b M ⌉ + M − 1 cnt = \left\lceil\dfrac{a}{M}\right\rceil + \left\lceil\dfrac{b}{M}\right\rceil + M -1 cnt=Ma+Mb+M1

我们通过枚举 M M M 来找 c n t M i n cnt_{Min} cntMin

AC 代码如下:

/*
Make it simple and keep self stupid
author:Joanh_Lan
*/
#pragma GCC optimize(3)
#pragma GCC optimize("inline") // 如果比赛允许开编译器优化的话,可以默写这两段
#include <iostream>
#include <algorithm>
#include <vector>
#include <string>
#include <numeric>
#include <cstring>
#include <cmath>
#include <map>
#include <unordered_map>
#include <bitset>
#include <set>
#include <random>
#include <ctime>
#include <queue>
#include <stack>
#include <climits>
#define buff                     \
    ios::sync_with_stdio(false); \
    cin.tie(0);
// #define int long long
#define ll long long
#define PII pair<int, int>
#define px first
#define py second
typedef std::mt19937 Random_mt19937;
Random_mt19937 rnd(time(0));
using namespace std;
const int mod = 1e9 + 7;
const int inf = 2147483647;
const int N = 100009;
//int Mod(int a,int mod){return (a%mod+mod)%mod;}
//int lowbit(int x){return x&-x;}//最低位1及其后面的0构成的数值
//int qmi(int a, int k, int p){int res = 1 % p;while (k){if (k & 1) res = Mod(res * a , p);a = Mod(a * a , p);k >>= 1;}return res;}
//int inv(int a,int mod){return qmi(a,mod-2,mod);}
//int lcm(int a,int b){return a*b/__gcd(a,b);}
int a, b;
void solve()
{
	cin >> a >> b;
	int ans = inf;
	for (int i = 1; i <= 50000; i++)
		ans = min(ans, (a + i - 1) / i + (b + i - 1) / i + i - 1);
	cout << ans << '\n';
}
int main()
{
	buff;
	int _ = 1;
	cin >> _;
	while (_--)
		solve();
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/415840.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

sql需要注意的地方 以及 云记模块逻辑

标题模糊搜素时 sql语句需要注意的地方 用concat拼; 用户行为 actionName 进入发布云记页面 actionNameview 添加或修改云记 actionNameaddOrUpdate 查询云记详情 actionNamedetail 删除云记 actionNamedelete 分页查询云记列表 …

第05章_数组

第05章_数组 讲师&#xff1a;尚硅谷-宋红康&#xff08;江湖人称&#xff1a;康师傅&#xff09; 官网&#xff1a;http://www.atguigu.com 本章专题与脉络 1. 数组的概述 1.1 为什么需要数组 需求分析1&#xff1a; 需要统计某公司50个员工的工资情况&#xff0c;例如计…

chatGPT中文版入口-chatGPT不可以用的地区

ChatGPT老出现不可用 如果您在使用ChatGPT时发现它经常不可用&#xff0c;可能是由于以下原因&#xff1a; OpenAI API的服务不稳定。由于技术问题、网络问题或维护&#xff08;如软件更新&#xff09;等原因导致OpenAI API服务不稳定&#xff0c;会导致ChatGPT无法使用。 接…

【JSON学习笔记】2.JSON vs XML及JSON的对象和数组

前言 本章介绍JSON vs XML及JSON的对象和数组。 JSON vs XML JSON 和 XML 都用于接收 web 服务端的数据。 JSON 和 XML在写法上有所不同&#xff0c;如下所示&#xff1a; JSON 实例 {"sites": [{ "name":"csdn教程" , "url":&q…

〖Python网络爬虫实战⑪〗- 正则表达式实战(二)

订阅&#xff1a;新手可以订阅我的其他专栏。免费阶段订阅量1000python项目实战 Python编程基础教程系列&#xff08;零基础小白搬砖逆袭) 说明&#xff1a;本专栏持续更新中&#xff0c;目前专栏免费订阅&#xff0c;在转为付费专栏前订阅本专栏的&#xff0c;可以免费订阅付费…

《LeetCode 热题 HOT 100》——寻找两个正序数组的中位数

本期给大家带来的是是《LeetCode 热题 HOT 100》第四题——寻找两个正序数组的中位数的题目讲解&#xff01;&#xff01;&#xff01;&#xff08;&#xff09; 本文目录 &#x1f4a5;题意分析 &#x1f4a5;解题思路&#xff1a; 1、直接法 &#xff08;❌&#xff09; …

2023年证券、基金、银行从业资格证考试计划

一、证券从业&#xff1a; 考试时间&#xff1a;统一测试拟于6月3日-4日举办1次&#xff0c;在全国41个城市举办。 报名网站&#xff1a;考试报名-中国证券业协会 (sac.net.cn) 目标&#xff1a;一般从业资格考试(入门资格考试) 考试人群&#xff1a;即将进入证券业从业的人…

Linux命令·ping

Linux系统的ping命令是常用的网络命令&#xff0c;它通常用来测试与目标主机的连通性&#xff0c;我们经常会说“ping一下某机器&#xff0c;看是不是开着”、不能打开网页时会说“你先ping网关地址192.168.1.1试试”。它通过发送ICMP ECHO_REQUEST数据包到网络主机&#xff08…

【ROS2指南-5】理解ROS2服务

目标&#xff1a;使用命令行工具了解 ROS 2 中的服务。 教程级别&#xff1a;初学者 时间&#xff1a; 10分钟 内容 背景 先决条件 任务 1 设置 2 ros2服务列表 3 ros2服务类型 4 ros2 服务查找 5 ros2界面展示 6 ros2 服务调用 概括 下一步 相关内容 背景 服务是 …

Ubuntu18.04安装linux-lab

Ubuntu18.04安装linux-lab 文章目录Ubuntu18.04安装linux-labdocker安装linux-lab安装意外事件流处理参考资料本文主要目的是搭建linux内核实验环境 因为工作需要所以学习linux内核&#xff0c;目前主要根据《linux内核完全注释》和《自己动手写操作系统》进行学习&#xff0c…

代码随想录【链表】---->反转链表、两两交换链表中的节点

文章目录206. 反转链表思路双指针实现递归写法24. 两两交换链表中的节点思路代码实现206. 反转链表 题目LeetCode206. 反转链表 思路 翻转链表实际上只需要将每一个节点的指针域指向前一个节点即可&#xff0c;原来第一个节点的指针域指向NULL指针 原头节点是1&#xff0c…

前端的性能对业务数据的影响

性能总论 一切没有 profiling 的性能都是耍流氓。凡是真正有价值的性能优化&#xff0c;必定是从端到端的业务场景建立体系来考虑的。 性能体系的建立可以分成以下几部分&#xff1a; 现状评估和建立指标&#xff1b;技术方案&#xff1b;执行&#xff1b;结果评估和监控。 …

【博学谷学习记录】超强总结,用心分享 | 架构师 Redis学习总结

文章目录1.Redis概述&安装配置安装启动2.Redis的Key的设计规范1、key名设计2、避免bigkey**string字符串类型**hash类型&#xff08;散列表&#xff09;list列表类型set集合类型sortedset有序集合类型bitmap位图 类型geo地理位置类型1.Redis概述&安装配置 官网&#x…

SQL SERVER数据库生成数据字典并且导出方法

SQL SERVER数据库生成数据字典并且导出方法打开SQL SERVER 2014找到你所需要建立数据字典的数据库在代码区输入如下SQL语句点击运行&#xff0c;导出或者带标题复制出来打开SQL SERVER 2014找到你所需要建立数据字典的数据库 右键→点击 新建查询 在代码区输入如下SQL语句 S…

椭圆型偏微分方程和格林函数

一、本文先简单地介绍一下Green 函数&#xff0c; 第一部分内容来自于文献 [0]BI-GreenNet: Learning Green’s Functions by Boundary Integral Network [1] Evans, L.C.: Partial Differential Equations. American Mathematical Society, Providence, R.I. (2010) [2]Learn…

Redis数据库的安装和命令使用以及python的调用

Redis 简介 Redis是完全开源免费的&#xff0c;是一个高性能的key-value数据库。 Redis与其他 key- value 缓存产品有以下三个特点&#xff1a; Redis支持数据的持久化&#xff0c;可将内存中的数据保存在磁盘中&#xff0c;重启时再次加载使用。Redis不仅支持简单的key-val…

故障定级和定责

故障管理的第一步是对故障的理解&#xff0c;只有正确地面对故障&#xff0c;我们才能够找到更合理的处理方式。 这便需要做两个工作&#xff1a;一是跟踪线上故障处理和组织故障复盘&#xff0c;二是制定故障定级定责标准&#xff0c;同时有权对故障做出定级和定责。 所以&a…

网上选课系统——管理员子系统的设计与实现

本系统是C/S&#xff08;客户端/服务器&#xff09;两层结构。采用C#数据库编程语言。服务器部分是SQL Server2000 关系数据库。客户端分为学生选课子系统和管理员管理子系统&#xff0c;它们通过存于后台数据库的数据产生联系。 无论是学生子系统还是管理员子系统&#xff0c…

Follow My Heart Of Apirl. 2023

This article will tell all my story in my daily file to make some deep memories in my heart for Apirl.2023. The line template: The template will be used as the mark of the storys start. 2023.04.10 Commodity n. 货物、商品、日用品 1. Global commodity prices …

《OpenCV3和Qt5计算机视觉应用开发》学习笔记

Qt Creator中使用opencv 在.pro文件中添加 INCLUDEPATH D:\MajorSoftware\opencv\opencv\build\include LIBS D:\MajorSoftware\opencv\opencv\mingw_build\lib\libopencv_*.a一个插件就是一个简单的库&#xff0c;如.dll&#xff0c;可以在运行时加载和使用插件&#xff…