摘要: 第一次做状态压缩dp。。没有思路。。看书看明白的,不过看完发现汝哥的做法多算了一些东西,完全可以省去不算。。用两个集合,s1表示恰好有一个人教的科目,s2表示至少有两个人教的科目。d(i,s1,s2),表示考虑了前i个人时的最小花费,0-m-1必须全选上,m到m-n-1才有可能出现选或者不选的决策,... 阅读全文
posted @ 2015-09-02 21:11 Norlan 阅读(601) 评论(0) 推荐(0) 编辑
摘要: 题意是挑选尽量多的人,并且每个人都不和他的父节点同时出现,很明显的最大独立集问题,难点在于如何判断方案是否唯一。详情请见刘汝佳《算法竞赛入门经典--第二版》P282#include#include#include#include#include#include#include#define INF ... 阅读全文
posted @ 2015-09-02 15:28 Norlan 阅读(389) 评论(0) 推荐(0) 编辑
摘要: 树型DP第一题。。。就是从boss到底层员工是一个树型结构,底层员工想加薪,如果每个boss都有超过T%的员工要求加薪,他就会往更高的bOSs传达,问如果让根节点的大boss接到加薪要求,最少要有多少名员工提出加薪要求。d[u]表示u如果提出加薪,所需要的员工数,很明显,最底层的员工肯定都要求加薪,... 阅读全文
posted @ 2015-09-02 13:13 Norlan 阅读(257) 评论(0) 推荐(0) 编辑
摘要: 第一开始想成了DP。尼玛后来才发现只有N条边,那就简单了。。从起点S遍历整棵树,从某点跳出来回到终点T,问最短路长度。然而从某点跳出时走过的路径是一个定值。。。。长度为整棵树的边长和sum*2-d1[i]。。然后求这个值加上回学校的路长的最小值就好了#include #include #includ... 阅读全文
posted @ 2015-09-02 09:59 Norlan 阅读(180) 评论(0) 推荐(0) 编辑