dfs and similar
jasonvictoryan
这个作者很懒,什么都没留下…
展开
-
codeforces 650E
原题原题题目大意给你两棵树,你要让原树变为新树,每次可以删一条边加一条边,但是在任意时刻,不能出现环,问最小步数以及删边加边的方案。解题思路首先考虑那些在初态和终态下都出现的边。这些边显然都是不动的,把它们连接的两个点合并起来。合并时要维护这个集合内的点与集合外的点的连边。答案很显然为总边数减去不动的边数,即每次删一条原树中的边,并增加一条终态的树上的边。按照任意顺序删去原树中要改变的边(u,v)(转载 2016-03-29 11:34:45 · 753 阅读 · 0 评论 -
codeforces 613D
原题原题链接题目大意给你一颗n≤100000n\leq100000个点的树,然后有q≤100000q\leq100000个询问,每个询问选定kk个点,问,至少在树中删除多少个点,使得nn个点两两不连通,无解输出−1-1。 保证∑k≤100000\sum k\leq 100000解题思路首先可以确定的是,无解一定是两个点相邻。其他的情况就要树形dp。 如果当前点为非选定点,且子树中有大于2个选定点原创 2016-04-16 15:24:41 · 1131 阅读 · 0 评论