kuangbin帶你飛 【二分】HDU - 4190 Distributin Ballot Boxes(整數二分)
題解:待更新
程式碼如下:
#include<cstdio>
#include<iostream>
#include<cstring>
#include<string>
#include<cmath>
#include<map>
#include<algorithm>
#define ll long long
#define int ll
#define inf (1<<31)-1//注意上界
#define PI acos(-1.0)
using namespace std;
int read() {
int w = 1, s = 0;
char ch = getchar();
while (ch < '0' || ch>'9') { if (ch == '-') w = -1; ch = getchar(); }
while (ch >= '0' && ch <= '9') { s = s * 10 + ch - '0'; ch = getchar(); }
return s * w;
}
int gcd(int x, int y) { return y ? gcd(y, x % y) : x; }
int ksm(int a, int b, int mod) { int s = 1; while(b) {if(b&1) s=s*a%mod;a=a*a%mod;b>>=1;}return s;}
const int N = 500010;
int a[N];
int n, b;
bool check(int x) {
int sum = 0;
for (int i = 0; i < n; i++) {
sum += a[i] / x;
if (a[i] % x) sum++;
}
return sum > b;
}
signed main()
{
while (~scanf("%lld%lld", &n, &b)) {
if (n == -1 && b == -1) break;
memset(a, 0, sizeof(a));
for (int i = 0; i < n; i++) a[i] = read();
//二分模板
int l = 0, r = inf;
int mid = 0;
while (l <= r) {
int sum = 0;
mid = l + r >> 1;
if (check(mid)) l = mid + 1;
else r = mid - 1;
}
printf("%lld\n", l);
}
return 0;
}
相關文章
- kuangbin——Hamburgers(二分答案)
- 整數二分
- [kuangbin帶你飛]專題十二 基礎DP1 D - Doing Homework HDU - 1074
- 【hdu】口算訓練/二分/質因數分解
- wqs二分(帶權二分)
- 整體二分
- hdu7462-字串【SAM,二分】字串
- HDU 3486 Interviewe(RMQ+二分)ViewMQ
- [kuangbin帶你飛]專題五 並查集 題解並查集
- Note - CDQ分治/整體二分
- HDU - 1061 Rightmost Digit(二分快速冪板題)Git
- 2017年藍橋杯A組-分巧克力(整數二分)
- 二分法(整數型別)的基本框架型別框架
- 二分找數
- 整體二分學習筆記筆記
- 數列分段(二分)
- [kuangbin帶你飛]專題十六 KMP & 擴充套件KMP & Manacher - I - Simpsons’ Hidden TalentsKMP套件
- HDU 6274 Master of Sequence(思維+樹狀陣列+二分)AST陣列
- kuangbin 專題二十三:二分 尺取 單調棧佇列 String佇列
- 二分
- 關押罪犯 擴充套件域並查集 帶權並查集 二分圖+二分套件並查集
- 你真的會用二分查詢嗎?
- 東哥帶你刷圖論第四期:二分圖的判定圖論
- 二分板子
- 二分查詢基礎專題——二分模板
- HNOI2016網路(整體二分+樹狀陣列)陣列
- PAT-B 1030 完美數列【二分】
- 資訊學奧賽初賽天天練-81-NOIP2015普及組-完善程式-二分答案、二分查詢、中位數、二分邊界、二分時間複雜度時間複雜度
- 二分查詢(一)——純粹的二分查詢
- 二分查詢 - 手寫模板與自帶函式函式
- 二分查詢
- 二分總結
- 二分答案法
- D-二分
- 二分圖匹配
- (C++)二分C++
- 二分的妙用
- pycharm 二分類PyCharm