dfs
sillyf
这个作者很懒,什么都没留下…
展开
-
CF 717E[dfs]
题意:给定一棵树,每个节点初始有颜色,共两种颜色.你一开始在点1,走到哪个点就把它的颜色改变.输出一种合法的方案使最终的树颜色都变为11.dfs构造 对每个节点如果当前为-1就从它到父亲节点走一遍 如果当前是root为-1没有父亲就随便找个儿子走一遍再走到那个儿子上(因为是dfs处理它的儿子都已经是1了)#include<cstdio>#define N 200005using namesp原创 2017-10-20 18:07:35 · 311 阅读 · 0 评论 -
BZOJ 1999: [Noip2007]Core树网的核[dfs]
1.对于树中的任意一点,距离其最远的点一定是树的直径的某一端点 2.同一棵树的直径的中点相同(题目里给出来的,虽然不知道怎么用) 3.要求的一定在直径上,并且越长越好(不在直径上的点到端点的距离≥\geq直径上的点到端点的距离,都取较大的那个) 4.任意搞一条直径求出来的偏心距是一样的随意求一条直径,然后抠出来枚举头尾处理一下 当前的这条链到别的点中最长的距离为max(到两端点的距离,到不在原创 2017-10-20 18:25:42 · 256 阅读 · 0 评论 -
51nod 1199 Money out of Thin Air[线段树]
题面 把树按dfs序搞成序列然后直接线段树维护就好了#include<cstdio>#include<vector>#define N 50000#define LL long longusing namespace std;vector<int>e[N+5];int n,m,fa[N+5],xl[N+5],size,L[N+5],R[N+5];LL sum[N*4+5],lazy[N原创 2017-10-24 13:34:12 · 204 阅读 · 0 评论