摘要: 题目大意:选择不相交区间问题。给定n个区间(a,b),选择尽可能多的区间,是的这些区间两两不相交。 经典贪心问题,将区间按照上界进行排序,选择第一个区间,然后去掉与第一个区间相交的区间,以此类推。 1 #include 2 #include 3 using namespace std; 4 #define MAXN 1000+10 5 6 struct Interval 7 { 8 int l, r, num; 9 bool operator start)34 {35 start = interval[i].... 阅读全文
posted @ 2013-08-14 21:54 xiaobaibuhei 阅读(211) 评论(0) 推荐(0)
摘要: 题目大意:走廊两侧有两排房间,现在需要在房间之间移动桌子,走廊的宽度只能容纳一张桌子移动,安排方案使得桌子尽可能并发移动以使得移动的总时间最短。 开始感觉是选择不相交区间问题,就开始写,写着写着就卡壳了,憋不出来了...只好投降了,看书... 将房间之前的走廊作为一个统计单位,当所有的办公室都搬运完成之后,看看这段走廊到底被占用了多少次。统计所有走廊被占用次数的最大值max,这个值就是要单独安排的搬运次数,乘以10就是总的搬运时间。 1 #include 2 #include 3 #include 4 using namespace std; 5 6 int main() 7 ... 阅读全文
posted @ 2013-08-14 21:11 xiaobaibuhei 阅读(323) 评论(0) 推荐(0)
摘要: 题目大意:有n个木棍,分别具有长度li和重量wi。对于木棍s1和s2,若l1 2 #include 3 #include 4 using namespace std; 5 #define MAXN 5000+10 6 7 struct Wooden 8 { 9 int l, w;10 bool operator 0)37 {38 time++;39 int prel = -1, prew = -1;40 for (int i = 0; i = prel && wooden[i].... 阅读全文
posted @ 2013-08-14 16:37 xiaobaibuhei 阅读(143) 评论(0) 推荐(0)
摘要: 题目大意:有一台主机,有m个cpu和n的内存,有l个任务,每个任务需消耗一定的cpu和内存,给出任务的开始时间和截止时间,完成任务可获得一定的金钱,同时提前完成有奖金,延后完成要扣钱。计算到某个时间所得收入。 首先按照任务的开始时间和价值进行排序,然后就是模拟题目描述的过程了。 1 #include 2 #include 3 #include 4 using namespace std; 5 #define MAXN 10000+10 6 7 struct Job 8 { 9 int a, b;10 int t, u;11 int v, w, x;12 ... 阅读全文
posted @ 2013-08-14 15:25 xiaobaibuhei 阅读(350) 评论(0) 推荐(0)