hdu 1789 贪心
2015-07-31 20:00
295 查看
画一个图分析一下就清楚啦,应该优先考虑完成损失最大的作业,因为一天只能完成一门作业,而同时应该倒着从deadline往回找合适的完成时间,因为这样对于别的作业来说,它们有更多的机会被完成。另外,deadline的数据范围也是1000以内。
#include <algorithm> #include <iostream> #include <cstring> #include <cstdio> using namespace std; const int N = 1007; bool visit ; struct Node { int d, s; bool operator < ( const Node & o ) const { return s > o.s; } } node ; int main () { int t; scanf("%d", &t); while ( t-- ) { int n, sum = 0; scanf("%d", &n); for ( int i = 0; i < n; i++ ) { scanf("%d", &node[i].d); } for ( int i = 0; i < n; i++ ) { scanf("%d", &node[i].s); sum += node[i].s; } sort( node, node + n ); memset( visit, 0, sizeof(visit) ); for ( int i = 0; i < n; i++ ) { for ( int j = node[i].d; j > 0; j-- ) { if ( !visit[j] ) { visit[j] = 1; sum -= node[i].s; break; } } } printf("%d\n", sum); } return 0; }
相关文章推荐
- Markdown编辑器使用说明
- String 用法
- 转)Linux学习路线
- IOS - 多线程
- hdoj 2899 Strange fuction【二分求解方程】
- (剑指Offer)面试题50:树中两个结点的最低公共祖先
- 冒泡排序
- 学习习惯之时间管理工具
- 一步一步搭建MHA环境
- hdu5335 搜索+优化
- VS.NET 2005 wince SDK installed in vs.net 2008
- Default-568h@2x.png pngcrush caught libpng error:
- IDTHook 深入学习
- 2187 悼念512汶川大地震遇难同胞——老人是真饿了
- 有关SD卡接线的探索(为什么标准SD卡是九根线,而一般原理图上都是11根线或更多呢?)
- NYOJ-448-寻找最大数
- Flexible Space with Image
- ORACLE dbca报错 ORA-01034:ORACLE not available
- Spark初探
- 谈谈Android(Activity)的理解