poj 3273 Monthly Expense(二分搜索)
来源:互联网 发布:网络新媒体的传播特征 编辑:程序博客网 时间:2024/05/29 06:30
初学二分搜索,这个题想到思路了,还是挺好的,不过想的有点复杂了。。。还有二分时的边界也太不好把握了。。。
参考:http://www.hankcs.com/program/cpp/poj-3273-monthly-expense.html
#include <iostream>#include <algorithm>using namespace std;const int MAXN = 100010;int money[MAXN];int n,m,upper,lower;bool C(int d){ int cnt = 1; int sum = 0; for(int i = 0; i < n; ++i) { sum += money[i]; if(sum > d) { cnt++; sum = money[i]; } } //cnt > m,就说明d偏小,要增大下界 if(cnt > m) return true; return false;}int main(){ while(cin >> n >> m) { upper = 0; lower = 0; for(int i = 0; i < n; ++i) { cin >> money[i]; upper += money[i]; if(money[i] > lower) lower = money[i]; } int lb = lower; int ub = upper; while(ub > lb) { int mid = (ub+lb)/2; if(C(mid)) lb = mid+1; else ub = mid; } cout << lb << endl; } return 0;}
0 0
- POJ 3273 Monthly Expense 二分搜索
- POJ 3273 - Monthly Expense(二分搜索)
- POJ 3273 Monthly Expense (二分搜索)
- POJ 3273 Monthly Expense (二分搜索)
- poj 3273 Monthly Expense(二分搜索)
- poj 3273 二分 Monthly Expense
- poj 3273 二分 monthly expense
- poj-3273-Monthly Expense-二分
- POJ 3273 Monthly Expense(二分)
- POJ 3273 Monthly Expense(二分)
- poj 3273 Monthly Expense (二分)
- POJ 3273 Monthly Expense (二分)
- POJ - 3273 Monthly Expense 二分
- POJ 3273 Monthly Expense(二分)
- POJ 3273:Monthly Expense(二分)
- 【POJ 3273】 Monthly Expense (二分)
- poj 3273 Monthly Expense 【二分】
- poj 3273 Monthly Expense (二分)
- 编程之美-2.16 求数组中最长递增子序列
- c#学习笔记(二)
- springboot加载静态资源
- C++中的类
- GO 指针
- poj 3273 Monthly Expense(二分搜索)
- swagger乱码(异常)错误
- C++动态内存管理之深入探究new和delete
- [python]感知机学习算法实现
- 腾讯云搭建WordPress个人博客
- 标准单元库的corner简述
- 平均年龄
- linux之类似Windows的资源管理器gnome-system-monitor(可用这个杀死进程)
- 软连接与硬链接的区别