摘要: "题目链接" 转换一下问题就是求每个点的最大长度,容易想到树的直径,一个点的最大长度就是他到两个端点长度的最大值,那我们就可以跑3遍dfs,第一遍求出直径的一个点,第二遍求出每个点到这个点的最大距离,第三遍利用第二遍求得的直径的另一点,反向跑,答案就是两者的最大值 这题好像还可以用点分治或者两遍df 阅读全文
posted @ 2020-02-26 22:04 GRedComeT 阅读(91) 评论(0) 推荐(0) 编辑
摘要: "题目链接" 依旧是树形dp啦,一样的找根节点然后自下而上更新即可 设$dp_{i,0}$表示第i个不设,$dp_{i,1}$表示第i个设一个,容易得到其状态转移 $dp_{i,0} = \sum{dp_{j,1}}(j为i的儿子节点)$ $dp_{i,1} = 1 + \sum{min(dp_{j 阅读全文
posted @ 2020-02-26 20:40 GRedComeT 阅读(79) 评论(0) 推荐(0) 编辑
摘要: "题目链接" 经典的树形dp,最大独立集,对于每个点就有2个状态,选/不选 设$dp_{i,0}$表示不选第i个,$dp_{i,1}$表示选第i个,容易得到其状态转移 $dp_{i,0} = \sum{max(dp_{j,0}, dp_{j,1})}(j为i的儿子节点)$ $dp_{i,1} = r 阅读全文
posted @ 2020-02-26 19:59 GRedComeT 阅读(112) 评论(0) 推荐(0) 编辑
摘要: There are two processes to switch, when one run:io instruction, switch on other process. After ios, the first process's state is ready, which must swi 阅读全文
posted @ 2020-02-26 15:50 GRedComeT 阅读(242) 评论(0) 推荐(0) 编辑