https://www.acwing.com/problem/content/1229/
这个问题也是不好直接求值,但是给定值很好判定这个值是不是可以的,所以也可以用二分解决。
不过整数二分略微有点难写。
1 #include<iostream> 2 #include<climits> 3 using namespace std; 4 typedef pair<int,int> PII; 5 const int N=1e5+10; 6 PII a[N]; 7 int n,k; 8 bool check(int x){ 9 int res=0; 10 for(int i=0;i<n;i++){ 11 res+=(max(a[i].first,a[i].second)/x)*(min(a[i].first,a[i].second)/x); 12 } 13 return res>=k; 14 } 15 int main(void){ 16 cin>>n>>k; 17 int ma=INT_MIN; 18 for(int i=0;i<n;i++){ 19 cin>>a[i].first>>a[i].second; 20 ma=max(ma,a[i].first); 21 ma=max(ma,a[i].second); 22 } 23 int l=0,r=ma; 24 while(l<r){ 25 int mid=l+r+1>>1; 26 if(!check(mid)){ 27 r=mid-1; 28 }else{ 29 l=mid; 30 } 31 } 32 cout<<l<<endl; 33 return 0; 34 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
2020-01-15 P1514 引水入城(搜索+线段完全覆盖)