随笔分类 -  树形结构

摘要:P1600 天天爱跑步 这道题很久之前就想做了,但是还是拖到了现在; 看这道题的时候还是很懵,看了题解(话说这题解写的贼好)恍然大悟; 路径条数太多,一个个遍历会T,我们需要换一个思路,遍历观察员,这样就是O(n)的; 我们可以想,哪些点能对当前观察员做出贡献; 观察员在p点的w[p]时间观察,有一 阅读全文
posted @ 2019-11-11 07:52 AiRomance 阅读(170) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2019-11-05 07:43 AiRomance 阅读(0) 评论(0) 推荐(0)
摘要:P1270 “访问”美术馆 dfs读入,存图有点像线段树; 在枚举时间时,要减去走这条边的代价; #include<cstdio> #include<cstring> #include<algorithm> using namespace std; const int maxn=1010; stru 阅读全文
posted @ 2019-10-31 07:28 AiRomance 阅读(145) 评论(0) 推荐(0)
摘要:P1099 树网的核 无根树,在直径上找到一条长度不超过s的路径,使得最远的点距离这条路径的距离最短; 首先两遍dfs找到直径(第二次找的时候一定要吧father[]清零) 在找到的直径下枚举长度不超过s的链,ans的下界是直径两端点到这条链距离的最小值; 然后将直径上的点都标记,再次求一下别的点到 阅读全文
posted @ 2019-10-31 07:23 AiRomance 阅读(218) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2019-10-30 08:29 AiRomance 阅读(1) 评论(0) 推荐(0)
摘要:P2052 [NOI2011]道路修建 这个题其实在dfs里面就可以把事干完的,(我一开始还拿出来求了一把)…… 一条边的贡献就是儿子的大小和n-siz[v]乘上边权; #include<cmath> #include<cstdio> #include<cstring> #include<algor 阅读全文
posted @ 2019-10-29 07:59 AiRomance 阅读(164) 评论(0) 推荐(0)