二分答案加双指针扫描 gym101194D
来源:互联网 发布:为什么讨厌中国人 知乎 编辑:程序博客网 时间:2024/06/05 19:08
#include<iostream>#include<algorithm>using namespace std;typedef long long ll;const int maxn = 300005;ll a[maxn],b[maxn];int t,T,n,k;bool judge(int x) //第一层总是优先选取较小的为最优策略{ for(int i = 0 ;i< x;i++) a[i] = b[i]; int p = x; for(int i =x ;i< x*k;i++) { while(b[p]<a[i-x]*2 && p<n) p++; if(p==n) return 0; a[i]=b[p]; p++; } return 1;}int bitsection(int l,int r){ while(l<r) { int mid = (l+r+1)>>1; if(judge(mid)) l=mid; else r=mid-1; } return l;}int main(){ cin>>T; for(t=1;t<=T;t++) { cin>>n>>k; for(int i = 0; i < n; i++) cin>>b[i]; sort(b,b+n); ll ans =bitsection(0,n/k); //满足二分性质 printf("Case #%d: %lld\n",t,ans); } return 0;}
阅读全文
0 0
- 二分答案加双指针扫描 gym101194D
- 二分答案加DP判断
- 双指针扫描
- 双指针扫描
- hihoCoder 1301筑地市场 数位dp加二分答案
- 2012-2013 ACM-ICPC, Asia Tokyo Regional Contest Beautiful Spacing 二分 + dp + 双指针扫描
- 二分答案
- 二分答案
- 二分答案
- 二分答案
- ~二分答案~
- 二分答案
- 二分答案?!
- 二分答案
- 二分答案
- 双指针扫描 / 尺取法
- 2017多校训练赛第四场 HDU 6070(二分答案+线段树+扫描线)
- <二分答案加验证||最小生成树>bzoj 1821 部落划分
- C#基础-035 设计三个类,轿车类,引擎类,轮胎类,轿车分别由一个引擎和四个轮胎构成,设计上述三个类
- 对象序列化
- iOS strong、copy关键字之深浅拷贝
- 476. Number Complement
- 微服务架构的优势与不足
- 二分答案加双指针扫描 gym101194D
- java颜色设置
- 积分
- quickSort
- 《嵌入式开发探秘》之第一章 前言
- Spring的事务管理器
- Android内的HashMap与Java8中的HashMap
- 第十一个Java程序,计算QQ等级。
- 【python】3.6版本使用http.client网络请求示例