摘要: 题目:codevs1257、洛谷P1437 题目大意:有一些砖块呈倒三角形状,每块砖敲掉后有一个分数。除第一行外,敲掉一块砖必须先把上面两块砖敲掉。现在你能敲m块砖,求能得到的最大分数。 解题思路:此题是一道非常恶心的dp。我们先把砖块“左对齐”,然后敲掉砖块(i,j)(i>1)时,就必须先敲掉(i 阅读全文
posted @ 2017-07-29 19:55 Mrsrz 阅读(983) 评论(0) 推荐(0) 编辑
摘要: 题目:UOJ#2、BZOJ3668、洛谷P2114、codevs3311、Vijos P1864。 题目大意:一个人能释放0~m伤害值的能量,但能量穿过防御门时伤害值会经过一些运算(AND,OR,XOR)而改变,问你最终能对Boss造成多少伤害。 解题思路:贪心,我们枚举释放出的伤害值的每一个二进制 阅读全文
posted @ 2017-07-29 14:17 Mrsrz 阅读(395) 评论(0) 推荐(0) 编辑
摘要: 题目大意:有一些工作,每项工作有一个时间,有些工作要在一些其他工作完成的情况下才能做。如果两项工作没有冲突,即可同时进行。求完成工作的最短时间。 解题思路:DP。我们设f[i]为工作i的最短完成时间(包括完成准备工作的时间),则f[i]=max(f[i的准备工作])+工作i所花的时间。因为题目说,第 阅读全文
posted @ 2017-07-29 13:07 Mrsrz 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 题目:USACO Training 4.2(在官网上提交需加文件输入输出)、洛谷P1894。 题目大意:有n头奶牛m个牛栏,每头牛只会在自己喜欢的牛栏里产奶,问一次最多有多少奶牛能产奶。 解题思路:二分图匹配。这里我用了网络流,先建立超级源点和超级汇点,跑最大流即可。以下是Dinic算法的代码。 C 阅读全文
posted @ 2017-07-29 12:35 Mrsrz 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 题目大意:略。 解题思路:最大流木板题,以下是Dinic算法的代码。 C++ Code: 阅读全文
posted @ 2017-07-29 11:07 Mrsrz 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 题目大意:有一些点和一些边,每条边有一个监视代价。一个人从1号点出发,到达某些“传送点”可以逃生。但被监视的边就不能走了。要你用最小的监视代价使得那个人无法传送。 解题思路:求最小割。先建一个超级汇点$n+1$,把所有传送点连上这个超级汇点,然后根据“最小割=最大流”的定理,跑最大流即可。注意无向图 阅读全文
posted @ 2017-07-29 10:03 Mrsrz 阅读(207) 评论(0) 推荐(0) 编辑