二分
lp_opai
我没有时间写一封简短的信,所以我写了一封长的。
展开
-
poj 2785 4 Values whose Sum is 0 (简单二分)
//每列选一个数相加为0的个数 # include # include # include using namespace std; int ab[4010*4010],cd[4010*4010]; int main() { int n,i,k,j,count,a[4010],b[4010],c[4010],d[4010]; while(~scanf("%d",&n)) {原创 2014-07-28 15:42:30 · 785 阅读 · 0 评论 -
hdu 4907 Task schedule(二分)
# include # include # include using namespace std; int vis[200010]; int b[200100]; # define Max 200010 int main() { int t,T,n,m,a,i; while(~scanf("%d",&T)) { while(T--) { scanf("%d%d",&n,原创 2014-08-04 14:33:21 · 786 阅读 · 0 评论 -
poj 3104 Drying (二分)
/*设某次二分出的一个值是mid: 1、对于一件ai值小于等于mid的衣服,直接晾干即可; 2、对于一件ai值大于mid值的衣服,最少的用时是用机器一段时间, 晾干一段时间,设这两段时间分别是x1和x2, 那么有mid=x1+x2,ai=(ai-mid)/(k-1) , 所以对(ai-mid)/(k-1)向上取整就是该件衣服的最少用时。*/ # include # include # incl原创 2014-07-30 19:17:31 · 739 阅读 · 0 评论 -
poj 2456 Aggressive cows poj 3258 (二分)
// n点中选c点放下c头牛 是的n-1段距离中的最短距离最大 ,求这个最大的最短距离 //假设当前的最小值为x,如果判断出最小差值为x时可以放下C头牛, //就先让x变大再判断;如果放不下,说明当前的x太大了, //就先让x变小然后再进行判断。直到求出一个最大的x就是最终的答案。 # include # include # include using namespace std; int原创 2014-07-28 19:33:29 · 763 阅读 · 0 评论 -
poj 3273 Monthly Expense (二分)
//最大值最小 //天数的a[i]值是固定的 不能改变顺序 # include # include # include using namespace std; int n,m; int a[100010]; int judge(int x) { int ans=1;//分成了几组 int tmp=0; for(int i=0;i<n;i++) { tmp+=a[i]; if原创 2014-07-31 10:05:21 · 691 阅读 · 0 评论 -
Codeforces 460C prsent(二分答案)
//题意:给定N朵花的原先的高度,从左到右排列, //最多浇水m天,每天只能浇一次,每次使得连续的w朵花的高度增长1,问最后最矮的花的高度最高是多少。 # include # include # include using namespace std; int main() { __int64 n,m,w,l,r,i,m1,sum; __int64 a[200010],b[2原创 2014-08-21 17:52:00 · 987 阅读 · 0 评论 -
hdu 4355 Party All the Time (三分)
//函数满足凸函数性质,于是三分 # include # include # include # include using namespace std; struct node { double x; double w; }; struct node a[50010]; int n; double cal(double xi) { double res=0;原创 2014-09-03 15:55:29 · 737 阅读 · 0 评论