POJ 3273 Monthly Expense 解题报告(二分枚举)
2013-08-07 11:02
417 查看
题目大意:一堆东西,连续的堆可以堆在一起,最多m堆,问你最大堆最小有多小……
题解报告:直接二分答案。额,lower_bound,upper_bound用多了,就越来越少手写二分了,二分这朴素而高效的思想也淡化了。枚举虽慢,有了二分后就完全是神速了!
题解报告:直接二分答案。额,lower_bound,upper_bound用多了,就越来越少手写二分了,二分这朴素而高效的思想也淡化了。枚举虽慢,有了二分后就完全是神速了!
#include <cstdio> #include <cstring> #include <algorithm> using namespace std; const int maxn=100010; int d[maxn]; int m,n; bool judge(int mid) { int sum=0; int num=1; for(int i=0; i<n; i++) { sum+=d[i]; if(sum>mid) { num++; sum=d[i]; } } return num<=m; } int main() { while(~scanf("%d%d",&n,&m)) { int l=0,r=0; for(int i=0; i<n; i++) { scanf("%d",d+i); r+=d[i]; l=max(l,d[i]); } while(l<=r) { int mid=(l+r)>>1; if(judge(mid)) r=mid-1; else l=mid+1; } printf("%d\n",l); } }
相关文章推荐
- POJ-3273 Monthly Expense 解题报告
- POJ 3273 Monthly Expense 二分枚举
- POJ 3273 Monthly Expense (二分枚举)
- POJ 3273 Monthly Expense(二分枚举)
- POJ-3273 Monthly Expense 解题报告
- POJ 3273 Monthly Expense【二分】
- poj3273(二分枚举)
- POJ 3273 Monthly Expense (二分)
- poj解题报告——3273
- POJ-3273 Monthly Expense(二分)
- POJ - 3273 Monthly Expense(二分搜索:最小化最大值)
- poj 3273 Monthly Expense (二分最小化最大值)
- POJ-3273 Monthly Expense(二分)
- POJ-3122 Pie 解题报告(二分) 平分派饼
- POJ 2976 Dropping tests 解题报告(二分)
- [ACM] POJ 3273 Monthly Expense (二分解决最小化最大值)
- POJ 3273 - Monthly Expense(二分)
- poj 3273 Monthly Expense(二分)
- poj 3273 Monthly Expense 二分查找
- POJ 3273 Monthly Expense 二分穷举