设计教学网站推荐,高端h5网站开发,wordpress适合做商城吗,包装设计网站排行榜知识点讲解#xff1a;二分算法--模板及原理总结 思路#xff1a;读完题发现答案的边长是具有二段性#xff0c;单调性的。就是假如答案为ans#xff0c;那么所有 ans的值为【1#xff0c;ans】都满足题意#xff0c;那么我们就是寻找满足这个性质的最大值。 ans的… 知识点讲解二分算法--模板及原理总结 思路读完题发现答案的边长是具有二段性单调性的。就是假如答案为ans那么所有 ans的值为【1ans】都满足题意那么我们就是寻找满足这个性质的最大值。 ans的范围是1~1e5【1~ans】都是满足的结果ans1e5】都是不满足的结果 所以我们用第一套模板midlr1) / 2 lmidrmid-1最后写check函数。 反之我们就用第二套模板midlr/ 2rmidlmid1 #include bits/stdc.h
#define int long long //(有超时风险)
#define PII pairint,int
#define endl \n
#define LL __int128using namespace std;const int N2e510,M1e310,mod998244353,INF0x3f3f3f3f;int n,k;
int h[N],w[N],c[N],pre[N];
bool check(int mid)
{int cnt0;for(int i1;in;i)cnt(h[i]/mid)*(w[i]/mid);return cntk;
}signed main()
{std::ios::sync_with_stdio(false);std::cin.tie(nullptr);cinnk;for(int i1;in;i)cinh[i]w[i];int l1,r1e510;while (lr){int mid(lr1)/2;if(check(mid))lmid;else rmid-1;}coutlendl;return 0;
}