题意:给出n个城市,n个城市分别的居民,m个盒子,为了让每个人都投上票,问每个盒子应该装多少张票

二分盒子装的票数,

如果mid<=m,说明偏大了,r应该向下逼近 ,r=mid

如果mid>m,说明偏小了,l应该向上逼近,l=mid+1

和上午那个切割木块那个一样-----------

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 #include <cmath>
 5 #include<stack>
 6 #include<vector>
 7 #include<map>
 8 #include<set>
 9 #include<queue>
10 #include<algorithm>
11 using namespace std;
12
13 typedef long long LL;
14 const int INF = (1<<30)-1;
15 const int mod=1000000007;
16 const int maxn=1000005;
17
18 int a[maxn];
19 int n,m;
20
21 int ok(int x){
22     int ans=0;
23     for(int i=1;i<=n;i++){
24         int tmp=a[i]/x;
25         if(a[i]%x) tmp++;
26         ans+=tmp;
27     }
28     if(ans<=m) return 1;
29     return 0;
30 }
31
32 int main(){
33     while(scanf("%d %d",&n,&m)!=EOF){
34         if(n==-1&&m==-1) break;
35
36         int maxx=-INF;
37         for(int i=1;i<=n;i++) {
38             scanf("%d",&a[i]);
39             maxx=max( a[i] , maxx );
40         }
41
42         int l=0,r=maxx,mid;
43         while(l<r){
44             mid=(l+r)/2;
45             if(ok(mid)) r=mid;
46             else l=mid+1;
47         }
48         printf("%d\n",l);
49     }
50     return 0;
51 }

View Code

转载于:https://www.cnblogs.com/wuyuewoniu/p/4542673.html

HDU 4190 Distributing Ballot Boxes【二分答案】相关推荐

  1. Distributing Ballot Boxes HDU - 4190

    问题·: Today, besides SWERC'11, another important event is taking place in Spain which rivals it in im ...

  2. hdu 4190(二分)

    思路:二分答案每次验证一下是否可行. 代码如下: 1 /************************************************** 2 * Author : xiaohao ...

  3. poj 1064 java_poj 1064(二分答案)

    题意: 有N条绳子,长度分别为 length[1,2,3,........,N]. 如果从它们中切割出K条长度相同的绳子,这K条绳子每条最长有多长? 结果保留两位小数. 题解: 二分可能的长度. AC ...

  4. UVA1396 Most Distant Point from the Sea(AM - ICPC - Tokyo - 2007)(计算几何,半平面交 + 二分答案)

    整理的算法模板合集: ACM模板 题目传送门 见<训练指南>P279 很明显就是一个二分答案,它问的是最远的点,直接枚举因为这里都是double类型的数所以有无限个点,我们可以直接二分. ...

  5. UVA1146 / LA3211(ACM-ICPC 2004 Europe - Southwestern) Now or later(2-SAT问题 + 二分答案)

    题目要求为 最大化最小值,很明显就是二分答案. 题目中每个飞机 要么是一种状态(早),要么是另一种状态(晚),考虑 2-SAT. 我们二分答案,二分着陆时间间隔的最小值 x. 枚举每两个飞机 p , ...

  6. 解题报告:luoguP2868 Sightseeing Cows G(最优比率环,负环判定,二分答案)

    根据题意,我们要环上各点权值之和除以各边权值之和最大. 求最大答案,很明显可以使用二分答案.那么我们假设当前答案为 x,如果有更大的答案,那么方程就可以按下图转换: 也就是说如果有更大的答案,则有一个 ...

  7. P2759 奇怪的函数(二分答案,数学运算)

    P2759 奇怪的函数 范围2e92e92e9,直接枚举肯定超时,正着直接求答案求不出来,那么运用逆向思维,直接二分答案判断即可.这道题涉及简单的数学运算. 要xx>=nx^x>=nxx& ...

  8. P3743 kotori的设备(二分答案,思维,线性)难度⭐⭐⭐

    题目链接 题目背景 kotori 有 n 个可同时使用的设备. 题目描述 第 i 个设备每秒消耗ai个单位能量.能量的使用是连续的,也就是说能量不是某时刻突然消耗的,而是匀速消耗.也就是说,对于任意实 ...

  9. 【基础算法】二分法(二分答案,二分查找),三分法,Dinkelbach算法,算法详解+例题剖析

    目录 一 . 二分法 二分搜索得要求: 二分查找步骤: 二分答案: 玄学的二分(二分答案) 二 . 三分法 例题 三.01分数规划问题相关算法与题目讲解(二分法与Dinkelbach算法) 一 . 二 ...

最新文章

  1. P2048 [NOI2010]超级钢琴
  2. 【eclipse】安装 Gradle 插件
  3. progressIndicator in SalesPipeline
  4. 通过栈(Stack)实现对树的遍历
  5. vue父子组件传值之异步之后子组件无法拿到父组件传的值
  6. 能伸能屈的拼音及解释
  7. Linux的巡检命令
  8. 计算机编程语言分类与区别
  9. 端口映射内网穿透——网络通
  10. 数据结构:树(Tree)【详解】
  11. javaweb调用第三方短信接口
  12. python相关性分析
  13. 微信小程序开发者工具的使用
  14. 主成分分析 (PCA) 和独立成分分析 (ICA)附Matlab代码
  15. 拉压力传感器特性及应用
  16. QEMU System环境
  17. Android线性布局
  18. vis.js力导向图第三弹——双击扩展节点
  19. PHP对HTML编码字符串的处理
  20. 用Xaml搭建一个登陆页面

热门文章

  1. 天池 在线编程 回合制游戏(前缀和)
  2. LeetCode 1133. 最大唯一数
  3. LeetCode 556. 下一个更大元素 III
  4. LeetCode 389. 找不同(位运算)
  5. python网络编辑 socket篇
  6. 过拟合(overfitting)和欠拟合(underfitting)出现原因及如何避免方案
  7. 机器学习算法优缺点对比及选择
  8. ad批量走线_AD PCB直角布线批量改为圆角,怎么批量修改呢?
  9. 记录F1分数和召回率
  10. 还在买白酒?算法工程师们,量化投资了解一下