20170630总结
今天是dp的第二天,主讲树形dp,题目较难。早上考试,看到题目有些难,想做快些,结果把T1题意看错,得不偿失。T3也因此没有时间把记忆化改为dp。不过T2的确很难,是著名的鹰蛋问题。这道题的正解很有意思,有时间可以写一写。下午是树形dp的讲解,复习了经典的找直径、重心和“没有上司的舞会”这一经典题目。随后BZOJ“创世纪”一题将“没有上司的舞会”拓展到基环树上。接着是CodeForces的一道比赛题,因为没有怎么接触过树上背包,对此类问题有些生疏,故听得有些朦胧。树形dp后,又将了DAG中的dp。此类问题和树形dp差不多,只是根据题意有所区别,更为灵活。最后讲了k-regular问题,即构造一个无向图使每个点度为k,且有一个桥。在此给出构造方法(复习一遍,加深印象):若k为偶数,则无解。若k为奇数,先构造一个k-1个结点的完全图,节点编号为0-(k-2),接着删去t到t^1这些边,每个点的度都为k-3了。然后再新建3个点,分别向原来的k-1个点连线,于是原来的k-1个点度都为k,3个新点度都为k-1。在这三个点中任选两个相连。现在把整个图复制一遍,变为两个图,把这两个图中度为k-1的两个点连起来,这样就有桥了。今天的题目整体较难,得写一些以加深印象。