摘要: 分析:每次找重心可以发现最多n层,每层复杂度是O(nlogn) 总体时间复杂度是O(nlog^2n) #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> #include <vector> #in 阅读全文
posted @ 2016-08-15 22:16 shuguangzw 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 分析:两遍dfs的树形dp裸题,记录子树最长链,然后自顶向下更新即可。。。 #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> #include <vector> #include <queue> 阅读全文
posted @ 2016-08-15 15:48 shuguangzw 阅读(271) 评论(0) 推荐(0) 编辑
摘要: 分析:典型的两遍dfs树形dp,先统计到子树的,再统计从祖先来的,dp[i][0]代表从从子树回来的最大值,dp[i][1]代表不回来,id[i]记录从i开始到哪不回来 吐槽:赛场上想到了状态,但是不会更新,而且据说这是一种典型的树形dp,还是太弱 #include <cstdio> #includ 阅读全文
posted @ 2016-08-15 14:45 shuguangzw 阅读(331) 评论(0) 推荐(0) 编辑