[较难] UVa OJ 714 Copying books
来源:互联网 发布:淘宝女装top1 编辑:程序博客网 时间:2024/06/05 23:59
题目描述
本题比较难,本人自己写了一份代码,但没有AC,下面给出《算法竞赛入门经典》书上代码,书上页码244
本题较难,仅Mark
// UVa714 Copying Books// Rujia Liu#include<cstdio>#include<cstring>#include<algorithm>using namespace std;const int maxm = 500 + 5;int m, k, p[maxm];// how many scribers needed if each scriber can work on at most maxp pagesint solve(long long maxp) { long long done = 0; int ans = 1; for(int i = 0; i < m; i++) { if(done + p[i] <= maxp) done += p[i]; else { ans++; done = p[i]; } } return ans;}int last[maxm]; // last[i] = 1 iff i is the last book assigned to someonevoid print(long long ans) { long long done = 0; memset(last, 0, sizeof(last)); int remain = k; for(int i = m-1; i >= 0; i--) { if(done + p[i] > ans || i+1 < remain) { last[i] = 1; remain--; done = p[i]; } else { done += p[i]; } } for(int i = 0; i < m-1; i++) { printf("%d ", p[i]); if(last[i]) printf("/ "); } printf("%d\n", p[m-1]);}int main() { int T; scanf("%d", &T); while(T--) { scanf("%d%d", &m, &k); long long tot = 0; int maxp = -1; for(int i = 0; i < m; i++) { scanf("%d", &p[i]); tot += p[i]; maxp = max(maxp, p[i]); } long long L = maxp, R = tot; while(L < R) { long long M = L + (R-L)/2; if(solve(M) <= k) R = M; else L = M+1; } print(L); } return 0;}
阅读全文
0 0
- [较难] UVa OJ 714 Copying books
- UVa OJ 714 - Copying Books
- uva 714 Copying Books
- UVa 714 - Copying Books
- uva 714 - Copying Books
- uva 714 - Copying Books
- UVA 714 Copying Books
- UVa:714 Copying Books .
- uva 714 Copying Books
- Uva 714 - Copying Books
- uva 714 Copying Books
- UVa 714 Copying Books
- Uva - 714 - Copying Books
- UVA 714 - Copying Books
- UVa 714 Copying Books
- uva 714 - Copying Books
- UVA - 714 Copying Books
- uva 714 Copying Books
- 在mac上通过terminal检查URL是否满足苹果ATS要求
- JavaWeb 解决超链接参数中文乱码问题
- CoAP学习笔记——CoAP格式详解
- scala把序列分解成子集(group by,partition)
- Struts2中EL表达式的取值顺序及OGNL表达式的取值顺序
- [较难] UVa OJ 714 Copying books
- Android 高清加载巨图方案 拒绝压缩图片
- SOFT_START and HOLD_AUTO_START方式
- 笔记--事件
- oracle 180天后的问题
- vivado与modelsim的联合仿真(二)
- Linux下Anaconda安装tensorflow-gpu
- iOS开发:开发过程中单例模式的使用
- 彻底征服 Spring AOP 之 理论篇