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

浙公网安备 33010602011771号