网站建设工作简介,国家工商局网站官网,在北京个人怎么注册公司,哪里有未成年做的网站目录 题目#xff1a;
题目描述#xff1a;
题目链接#xff1a;
思路#xff1a;
核心思路#xff1a;
思路详解#xff1a;
代码#xff1a;
代码详解#xff1a; 题目#xff1a;
题目描述#xff1a; 题目链接#xff1a;
蓝桥云课 冶炼金属
洛谷 P92…目录 题目
题目描述
题目链接
思路
核心思路
思路详解
代码
代码详解 题目
题目描述 题目链接
蓝桥云课 冶炼金属
洛谷 P9240 [蓝桥杯 2023 省 B] 冶炼金属
思路
核心思路
整数二分的两个模板
思路详解
由题求转换率V的最小值和最大值结合题意不难发现存在单调性和二段性。见到同时求V的最小值和最大值第一想法就是整数二分的两个模板。两次二分,一次求v的最小值,一次求v的最大值
代码
代码详解
#includebits/stdc.h //自己做的时候第一思路就是整数二分的两个模板
using namespace std; //两次二分,一次求v的最小值,一次求v的最大值 int a,b;
int n;
int vmin-1;
int vmax1e9;int main()
{cinn;while(n--) //n行输入数据 {int a,b;scanf(%d %d,a,b);int l11; //由题1ba10^9,a/vb,所以1v10^9,左右边界可以确定 int r11e9;while(l1r1){int midl1r11; //先求满足每行数据v的最小值,这里用的第一个模板 if(a/midb) //这里是模板的check(mid),midv,由题a/vb,所以a/midb {r1mid;}else{l1mid1;}}if(l1vmin) //输入n行数据,即有n个l1,每次的l1都是满足该行数据的最小v,但是由题vmin要满足 { //所有行的数据,所以vmin是l1里面的最大值 vminl1;}int l21;int r21e9;while(l2r2){int midl2r211; //再求满足每行数据v的最大值,这里用的第二个模板 if(a/midb) //这里是模板的check(mid),midv,由题a/vb,所以a/midb {l2mid;}else{r2mid-1; //记忆小技巧,如果这里有-1上面mid那里就补个1 }}if(l2vmax) //输入n行数据,即有n个l2,每次的l2都是满足该行数据的最大v,但是由题vmax要满足 { //所有行的数据,所以vmax是l2里面的最小值 vmaxl2;}}printf(%d %d,vmin,vmax);return 0;
}