wiki 1156 作业调度方案
来源:互联网 发布:拍淘宝送小礼品 微信 编辑:程序博客网 时间:2024/06/05 02:12
这道题叙述的好啰嗦。。但是耐下心来仔细读一下,其实也是很简单的题。这个题我觉得不太算是动态规划吧。。不知道为什么wiki把此题列为动态规划的分类中。
我的AC代码:
#include <iostream>#include <string.h>#include <vector>using namespace std;#define MAXI 0x07777777struct Node { int x,y;};vector<Node> robots[25];int m,n;int a[450],robot[25][25],t[25][25],start[25][25],turn[25];void init(){ cin >> m >> n; memset(start, 0, sizeof(start)); for(int i = 0; i <= 25; i++) turn[i] = 1; for(int i = 0; i < m*n; i++) cin >> a[i]; for(int i = 1; i <= n; i++){ for(int j = 1; j <= m; j++) cin >> robot[i][j]; } for(int i = 1; i <= n; i++){ for(int j = 1; j <= m; j++) cin >> t[i][j]; } for(int i = 1; i <= m; i++) robots[i].push_back(Node{0,MAXI});}int merge (int robotnum, int starttime, int dur){ for(int i = 0; i < robots[robotnum].size(); i++){ Node node = robots[robotnum][i]; if(starttime >= node.x && starttime < node.y){ if(starttime+dur <= node.y){ robots[robotnum].erase(robots[robotnum].begin()+i); if(starttime+dur < node.y){ robots[robotnum].insert(robots[robotnum].begin()+i, Node{starttime+dur,node.y}); } if(starttime > node.x){ robots[robotnum].insert(robots[robotnum].begin()+i, Node{node.x,starttime}); } return starttime+dur; } }else{ if(starttime < node.x && node.x+dur <= node.y){ robots[robotnum].erase(robots[robotnum].begin()+i); if(node.x+dur < node.y){ robots[robotnum].insert(robots[robotnum].begin()+i, Node{node.x+dur,node.y}); } return node.x+dur; } } } return -1;}int main(int argc, const char * argv[]){ init(); for(int i = 0; i < n*m; i++){ int gongxu = turn[a[i]]; turn[a[i]]++; int temprobot = robot[a[i]][gongxu]; int tempt = merge(temprobot,start[a[i]][gongxu],t[a[i]][gongxu]); start[a[i]][turn[a[i]]] = tempt; } int result = 0; for(int i = 1; i <=m; i++){ result = (result < robots[i][robots[i].size()-1].x ? robots[i][robots[i].size()-1].x : result); } cout << result << endl;}
0 0
- wiki 1156 作业调度方案
- Codevs 1156 作业调度方案
- 作业调度方案(codevs 1156)题解
- 作业调度方案
- P1314 作业调度方案
- 作业调度方案
- NOIP2006 作业调度方案
- 作业调度方案
- NOIP2006【作业调度方案】
- 【b603】作业调度方案
- NOIP 2006 作业调度方案
- 20160807 作业调度方案 链表
- 洛谷 P1065 作业调度方案
- NOIP 2006 作业调度方案
- noip2006 作业调度方案 (模拟)
- NOIP2006提高组:作业调度方案
- 洛谷 P1065 [NOIP2006 T3] 作业调度方案
- 作业调度方案——模拟(水)
- Red and Black
- 还未你等着 我的心快死了
- hdu 1114 Piggy-Bank_完全背包经典例题!
- C语言中 strlen函数用法的问题
- 大端系统和小端系统
- wiki 1156 作业调度方案
- android 在url里传输汉字的方法
- Nginx服务器访问异常
- 不安装oracle客户端也可以使用pl/sql developer
- 编程之美之寻找最大的k个数
- C#里分割字符串的一个方法
- 在Solaris上编译redis(2.8.13)
- 压缩
- POJ 2083 Fractal