poj3273(二分)
来源:互联网 发布:java简单工厂模式代码 编辑:程序博客网 时间:2024/05/04 03:30
http://poj.org/problem?id=3273
题意:给你n个数组,要分成m组。要求分成m组后,组间最大值要啊最小。
思路:在二分题里找到的,可是怎么看都想用记忆话搜索做,最后得出得结论是。。。做不出来。。。,最后看到是二分答案,好吧,思路豁然开朗。
#include <iostream>#include <cstring>using namespace std;int n,m;int a[100001];int getAns(int l, int r){if (l == r) return r;int mid = (l + r) / 2;int temp = 0;int ans = 0;for (int i = 1; i <= n; i++){temp += a[i];if (temp > mid) {i--;temp = 0;ans++;}}ans++;if (ans > m) return getAns(mid+1, r);return getAns(l,mid);}int main(){cin >> n >> m;//memset(s,0,sizeof(s));int min = 0;int max = 0;for (int i = 1; i <= n; i++){cin >> a[i];max = max + a[i];if (a[i] > min) min = a[i];}//memset(f,0,sizeof(f));cout << getAns(min, max) << endl;}
0 0
- poj3273(二分)
- poj3273(二分枚举)
- poj3273 Monthly Expense(二分)
- poj3273(二分最大化最小值)
- POJ3273:Monthly Expense(二分)
- poj3273 二分
- POJ3273 二分
- 【POJ3273】二分
- POJ3273 Monthly Expense(二分答案)
- poj3273——Monthly Expense(二分)
- POJ3273 Monthly Expense (二分统计)+二分查找基础例子
- poj3273 二分搜索
- POJ3273:Monthly Expense(二分)
- poj3273+poj3258 二分易错点
- poj3273 二分枚举
- POJ3273:Monthly Expense(二分)
- poj3273 poj3258 二分答案
- poj3273--Monthly Expense(二分)
- 答读者问(5):有关数学对程序员的作用、研发工作岗位要求和实习对找工作的影响等问题
- C++调用C# COM组件
- 写给刚毕业的在大城市打拼并迷茫着的年轻IT人
- Spring MVC3在controller和视图之间传递参数的方法
- 用动态规划算法求解钢条切割问题
- poj3273(二分)
- 抽象类抽象方法
- Microsoft Security Client OOBE 程序错误解决办法
- 修改rc.local导致无法进入系统
- java生成指定的随机数并且包含大写、小写和数字,满足以上条件的返回字符串
- 如何安装MySql数据库
- [field:description/]字数限制 --修改方法
- C++编程思想笔记--隐藏实现
- 黑马程序员 JAVA学习笔记 ——集合框架