EOJ-大学生程序设计邀请赛(华东师范大学)-F-丽娃河的狼人传说
2017-05-12 22:32
323 查看
ACM模版
![](http://img.blog.csdn.net/20170512222737613?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZl96eWo=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
![](http://img.blog.csdn.net/20170512222750321?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZl96eWo=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
然而,这个题并没有狼!!!
贪心问题,首先需要进行排序,可以根据 l 也可以根据 r 排序,针对于不同的排序,我们在贪心的过程中对应不同的放置方案即可。注意 −1 的情况,没毛病~~~
描述
题解
狼来了!!!然而,这个题并没有狼!!!
贪心问题,首先需要进行排序,可以根据 l 也可以根据 r 排序,针对于不同的排序,我们在贪心的过程中对应不同的放置方案即可。注意 −1 的情况,没毛病~~~
代码
#include <iostream> #include <algorithm> #include <cstring> using namespace std; const int MAXK = 1010; int A[MAXK]; struct section { int l; int r; int cnt; } SEC[MAXK]; bool cmp(section a, section b) { if (a.r == b.r) { return a.l < b.l; } return a.r < b.r; } int main(int argc, const char * argv[]) { int T; cin >> T; int n, m, k, cs = 1; while (T--) { memset(A, 0, sizeof(A)); cin >> n >> m >> k; int x; for (int i = 0; i < k; i++) { scanf("%d", &x); A[x] = 1; } for (int i = 0; i < m; i++) { scanf("%d%d%d", &SEC[i].l, &SEC[i].r, &SEC[i].cnt); } sort(SEC, SEC + m, cmp); printf("Case %d: ", cs++); int sum = 0; for (int i = 0; i < m; i++) { int cnt = 0; for (int j = SEC[i].l; j <= SEC[i].r; j++) { if (A[j]) { cnt++; } } if (cnt < SEC[i].cnt) { sum += SEC[i].cnt - cnt; } cnt = SEC[i].cnt - cnt; for (int j = SEC[i].r; j >= SEC[i].l && cnt > 0; j--) { if (A[j] == 0) { A[j] = 1; cnt--; if (cnt == 0) { break; } } } if (cnt > 0) { goto t; } } cout << sum << '\n'; if (false) { t: cout << -1 << '\n'; } } return 0; }
相关文章推荐
- EOJ - 大学生程序设计邀请赛(华东师范大学) F. 丽娃河的狼人传说(贪心)
- 2017大学生程序设计邀请赛(华东师范大学)F. 丽娃河的狼人传说
- EOJ 3263 大学生程序设计邀请赛(华东师范大学)- F 丽娃河的狼人传说 贪心
- EOJ-大学生程序设计邀请赛(华东师范大学)-F-丽娃河的狼人传说
- EOJ-大学生程序设计邀请赛(华东师范大学)-B-分词
- EOJ-大学生程序设计邀请赛(华东师范大学)-E-黑心啤酒厂
- EOJ-大学生程序设计邀请赛(华东师范大学)-C-袋鼠妈妈找孩子
- EOJ 3247 大学生程序设计邀请赛(华东师范大学)-G 铁路修复计划
- EOJ 3260 大学生程序设计邀请赛(华东师范大学)-C 袋鼠妈妈找孩子
- EOJ-大学生程序设计邀请赛(华东师范大学)-D-实验室传染病
- EOJ-大学生程序设计邀请赛(华东师范大学)-A-拼音魔法
- EOJ-大学生程序设计邀请赛(华东师范大学)-E-黑心啤酒厂
- EOJ-大学生程序设计邀请赛(华东师范大学)-G-铁路修复计划
- EOJ-大学生程序设计邀请赛(华东师范大学)-E-黑心啤酒厂
- EOJ-大学生程序设计邀请赛(华东师范大学)-H-法国传统舞蹈
- EOJ-大学生程序设计邀请赛(华东师范大学)-C-袋鼠妈妈找孩子
- EOJ-大学生程序设计邀请赛(华东师范大学)-I-七巧板
- 大学生程序设计邀请赛(华东师范大学)
- 大学生程序设计邀请赛(华东师范大学)-D题(线段树+随机化)
- A. 拼音魔法 大学生程序设计邀请赛(华东师范大学)