![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Tree
jasonvictoryan
这个作者很懒,什么都没留下…
展开
-
codeforces 652E
题目大意给你一个nn个点,mm条边的连通图,某些边上会有宝藏,只有一个询问,问从aa到bb是否存在一条路径使得,路径上没有重边并且路径上有宝藏。范围(1 ≤ n ≤ 3∗105,0 ≤ m ≤ 3∗105)(1 ≤ n ≤ 3*10^5, 0 ≤ m ≤ 3*10^5) 思路易得,如果一个环上有宝藏,那么我一定可以从环上的一个点进去,拿到宝藏,然后从任意一个点出来。那么我就可以缩环,建树,现在的树就原创 2016-03-26 09:20:40 · 1106 阅读 · 0 评论 -
codeforces 632F
题目大意给定一个矩阵AA,大小是n∗n,n≤2500n*n,n\leq2500,判断这个矩阵是否是MagicMagic的。 一个矩阵是MagicMagic的,必须满足。 1.ai,i=01.a_{i,i}=0 2.ai,j=aj,i2.a_{i,j}=a_{j,i} 3.3.对于∀i,j,k\forall i,j,k满足ai,j≤max(ai,k,aj,k)a_{i,j}\leq max(a原创 2016-04-12 22:28:22 · 1088 阅读 · 2 评论 -
codeforces 650E
原题原题题目大意给你两棵树,你要让原树变为新树,每次可以删一条边加一条边,但是在任意时刻,不能出现环,问最小步数以及删边加边的方案。解题思路首先考虑那些在初态和终态下都出现的边。这些边显然都是不动的,把它们连接的两个点合并起来。合并时要维护这个集合内的点与集合外的点的连边。答案很显然为总边数减去不动的边数,即每次删一条原树中的边,并增加一条终态的树上的边。按照任意顺序删去原树中要改变的边(u,v)(转载 2016-03-29 11:34:45 · 759 阅读 · 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 · 1189 阅读 · 0 评论 -
codeforces 730K
题目大意给你一个无向图和其中两个点ss, tt. 要求你将这个无向图定向成一个从ss到tt的格(定义: ss是唯一的入度为0的点, tt是唯一的出度为0的点, 且整个图无环).解题思路首先我们有一个无视时限的做法. 先把ss到tt连起来, 这条链从ss到tt定向. 然后每次找从链上出去再回来的一条路径, 按照出去和回来的点在链上的先后给他们定向. 但是为了不超时, 需要实现这个做法. 方转载 2016-11-03 21:48:35 · 595 阅读 · 0 评论