传送门 "Luogu" 解题思路 一眼想到二分图:但是求不了最大匹配方案数 oho。 于是考虑这么建图: 直接将一个人可以去的两把椅子连边,然后原图中的2n个点就会形成许多联通块,这个可以分步计数。 又因为每个联通块只会是一棵树或是环套树,所以分类讨论一个联通块内如何计数: + 若该联通块是一棵树( ...
分类:
其他好文 时间:
2019-10-26 22:57:27
阅读次数:
99
单纯求联通块的一道题,种子填充算法可以简单的解决。 种子填充就不介绍了,这个都不知道还敢做蓝题…… 然后是不好搞的求周长部分,对于递归中的每个点,如果周围是未编号节点,大小加一并且进入该点,如果周围是空地,周长加一。 代码很简单,仅供参考。 cpp include using namespace s ...
分类:
其他好文 时间:
2019-10-25 13:40:50
阅读次数:
84
题意 给定n个结点的树,每条边有边权,有m个询问,每个询问给一个$q_i$输出树上有多少点对的简单路径上最大的边权不超过$q_i$。 分析 用并查集维护点集,同时维护大小。 将所有边按边权排序,考虑每次从小到大加边,图中经过当前边的所有路径一定是以当前边的边权为最大值的,用并查集维护下图中每个联通块 ...
分类:
其他好文 时间:
2019-10-24 00:40:42
阅读次数:
133
满分做法: 由题,树是不需要染色的,所以我们要让所有的连通块变成树。所有联通块的总点数 是 n,所以如果设联通块数为 C,则最后剩下的边个数就是 n ? C,因此答案就是 m ? n + C。 ...
分类:
其他好文 时间:
2019-10-22 22:18:39
阅读次数:
109
早上考试想用$LCT$维护联通块$size$,现在才发现$LCT$的$size$有虚实之分 $Link$与$Acess$中虚实变,干他丫的 $Splay$中只是相对关系,没有虚实变,因此不搞它 ...
分类:
其他好文 时间:
2019-10-22 18:10:27
阅读次数:
54
题意是给定n个点,m条边的无向图,求最小生成树的个数对p取模。 用kruscal计算最小生成树时,每次取连接了两个不同联通块的最小的边。也就是先处理d1条c1长度的边,再处理d2条c2长度的边。长度相同的边无论怎么选,最大联通情况都是固定的。 分别对ci长度的边产生的几个联通块计算生成树数量再乘起 ...
分类:
其他好文 时间:
2019-10-19 11:24:03
阅读次数:
92
Interstellar battle 对于每个联通块的贡献我们把它放到深度最低的那个点上面去。 那么一个点有贡献就是它的父亲被摧毁了并且自己没有被摧毁。 然后把所有概率加起来就是期望了。 ...
分类:
其他好文 时间:
2019-10-16 19:50:17
阅读次数:
67
[点连通度与边连通度] 在一个无向连通图中,如果有一个顶点集合,删除这个顶点集合,以及这个集合中所有顶点相关联的边之后,原图变成多个联通块,就称这个点集为割点集合。 一个图的点连通度定义为,最小个点集合中的顶点数。 类似的,如果有一个边集合,删除这个编辑和以后,原图变成多个连通块,就成这个边集为割边 ...
分类:
其他好文 时间:
2019-10-14 14:41:31
阅读次数:
107
"B" 整个表格其实是一些联通块,取反操作不能跨连通块。所以直接统计一下每个连通块内数字不对的个数是不是偶数即可 cpp include include include include define gt(x,y) ((x) m+y) using namespace std; const int M ...
分类:
其他好文 时间:
2019-10-13 10:37:25
阅读次数:
60
模拟62 Graph 很显然的一个性质是旅行次数为一个联通块中边数/2向下取整,树DP+贪心走一边DFS即可求出方案 #include<bits/stdc++.h> using namespace std; typedef pair<int,int> P; typedef pair<P,int> D ...
分类:
其他好文 时间:
2019-10-12 21:03:10
阅读次数:
112