图
PinappleMi
这个作者很懒,什么都没留下…
展开
-
图论刷题(cf2400+)
刷题链接1292D. Chaotic V.调整法的思想,初始化汇点为1号点,动态调整往子树大小超过一半的那个子树移动才能使得ans减少,一直移动直到ans不再减少。因为点数很多,不能显式建图,每次动态维护好下一层的子树即可。会在同一子树中的点当前最大质因子必须相同,只要维护好当前最大质因子即可。然后不在该子树中的点可以直接丢弃,不用维护。每次维护的复杂度是5000,移动至多走到一个叶节点上...原创 2020-04-03 18:57:56 · 417 阅读 · 0 评论 -
E. Dima and Kicks(欧拉图)
358e题意给出一个n*m的01矩阵a,求满足下列条件的k:k>1网格为点,每个网格和它四个方向相邻的网格都存在一条边,从某个aij=1a_{ij} = 1aij=1的网格出发,每次只能向上下左右任意一方向移动k个位置,所经过的网格必须都为1,存在某个移动方案,使得边不能重复经过,覆盖矩阵中所有的1。思路1.首先图必须要连通2.设最大的答案为k,那么其余的答案就是k的...原创 2020-02-26 17:10:37 · 295 阅读 · 0 评论 -
codeforces 501 C. Misha and Forest (思维)
题目链接: C. Misha and Forest题目大意:给你一个无环无重边的图,给出每个顶点的与其相连的点的个数和这个顶点与之相连的点的编号的异或值(比如和与2相连的是3和5和7 这个值就是3^5^7,如果只有一个就是相连的点的编号)从度为1 的点入手,说明他是叶节点,他的异或值就是与之相连的边的编号,就能求出这条边。逐步递推上去,就能求出所有边。异或的公式x^y=sum,y=sum^...原创 2018-04-23 09:15:00 · 196 阅读 · 0 评论 -
codeforces D.Dima and Bacteria (floyd+并查集)
题目链接:Dima and Bacteria题意:给出n个点,m条边,每条边是双向的,并且有权值。n个点分为k个种类,每个种类有Ci个点 如果任意两个相同点之间转移,可以找到一条路径,该路径满足经过的边的权值和为0则输出Yes,输出任意两个种类的点之间转移的最小路径。否则输出No;思路:分为两个问题 1.先用并查集判断是否相同种类任意两点是连通的。 对权值为0的...原创 2018-05-12 12:29:40 · 265 阅读 · 1 评论 -
codeforces E. Cyclic Components
题目链接:E. Cyclic Components题目意思:给n个顶点 m条边 就是一个无向图。问有几个环。给的无向图只有单环。思路:给的数据比较大,不能用邻接矩阵要用邻接表。只有单环,,那么该环上的点的度都必须是2。就从头搜索,走过的标记掉就行。把路径存到rd里面,然后搜素结束后查找rd中的点的度,如果都是说明这是单环。ans++。搜素一遍过去就得到结果了。代码#in...原创 2018-05-07 23:11:54 · 431 阅读 · 0 评论 -
codeforces E. New Reform (并查集)
题目链接:E. New Reform大意:n个城市,m条双向路,将这些路改成单向的,如果一个城市没有通向它的路,(入度为0)就说明该城市是单独的。问修改后最少有几个单独的城市,要使结果最小。思路: 1.可以建成一个有向图,可能有k个联通块,如果一个联通块没有环,就说明这个联通块,至少有一个城市单独的,因此就化成找联通块和环的问题 2.联通块的话可以用并查集来维护,然后...原创 2018-06-17 16:52:13 · 267 阅读 · 0 评论