思路:最小生成树计数只不过加了一个期望,由于期望具有线性性质,就可以转化为每条边的期望之和,那么一条边的期望如何求呢,在最小生成树记数中,是把相同边权的一起处理,之后把属于连通块内的点缩点,也就是说,一条边只可能在它属于的连通块内对答案产生贡献,之后因为缩点而不会影响答案,因此一条边的期望就等于它在 ...
分类:
其他好文 时间:
2016-11-02 20:39:24
阅读次数:
132
思路:模拟kruskal的过程,可以发现对于所有权值相同的边,有很多种选择的方案,而且权值不同的边并不会相互影响,因为先考虑权值较小的边,权值比当前权值大的边显然不在考虑范围之内,而权值比当前权值小的边所组成的连通块已经经过缩点变成一个点了,因此处理权值相同的所有边可以看成是一个阶段,最后的答案也就 ...
分类:
Web程序 时间:
2016-10-31 18:37:46
阅读次数:
239
经过思考后,很明显,我们可以看出应该是求出两条最长的链,链是指挂在连通块上的 1,5可以称作一条链,但是,图里会有连通块,也就是环或者几个环相交在一起,这时就很难求链。这时,需要进行缩点。 缩点是把连通块变成一个点,大概是通过tarjan求出桥,也就是删掉这条边之后,图变得不连通,求出桥之后,把这些 ...
分类:
其他好文 时间:
2016-10-31 00:03:09
阅读次数:
263
[hihoCoder#1381]Little Y's Tree 试题描述 小Y有一棵n个节点的树,每条边都有正的边权。 小J有q个询问,每次小J会删掉这个树中的k条边,这棵树被分成k+1个连通块。小J想知道每个连通块中最远点对距离的和。 这里的询问是互相独立的,即每次都是在小Y的原树上进行操作。 小 ...
分类:
其他好文 时间:
2016-10-22 00:00:41
阅读次数:
487
找出连通块,然后找出颜色最大的,用总数减去 #include<iostream>#include<map>#include<cstring>#include<vector>#include<cstdio>using namespace std;vector<int>graph[200010];int ...
分类:
其他好文 时间:
2016-10-18 01:51:48
阅读次数:
133
题意:有n只袜子,k种颜色,在m天中,问最少修改几只袜子的颜色,可以使每天穿的袜子左右两只都同颜色。 析:很明显,每个连通块都必须是同一种颜色,然后再统计最多颜色的就好了,即可以用并查集也可以用DFS。 代码如下: ...
分类:
其他好文 时间:
2016-10-18 01:42:46
阅读次数:
264
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5925 题意:一个 R×C 的棋盘,有 n≤200 个格子是黑的,其他都是白的,问所有白色格子构成的四联通块有多大。 题解:离散化后 BFS。 这个离散化以后会有一个问题,因为这个题要统计每一个连通块里的 ...
分类:
其他好文 时间:
2016-10-07 18:13:26
阅读次数:
144
题意:给定 n 个数,然后每次破坏一个位置的数,那么剩下的连通块的和最大是多少。 析:用并查集来做,从后往前推,一开始什么也没有,如果破坏一个,那么我们就加上一个,然后判断它左右两侧是不是存在,如果存在,那么就合并起来, 然后不断最大值,因为这个最大值肯定是不递减,所以我们一直更新就好。 代码如下: ...
分类:
其他好文 时间:
2016-10-04 11:56:12
阅读次数:
175
题意:给定一个n*m的矩阵,*表示陆地, . 表示水,一些连通的水且不在边界表示湖,让你填最少的陆地使得图中湖剩下恰好为k。 析:很简单的一个搜索题,搜两次,第一次把每个湖的位置和连通块的数量记下来,第二次去填陆地,选少的进行填。 代码如下: ...
分类:
其他好文 时间:
2016-10-04 01:34:21
阅读次数:
172
题目大概说,对于1到n这n个数的任何一个排列A可以这样计算其价值:对所有下标i找到最小的j满足j>i且A[j]>A[i],然后i和j之间连边,最后所有连通块个数之积的平方就是该排列的价值。问所有排列的价值和是多少。 ...
分类:
其他好文 时间:
2016-09-28 22:18:07
阅读次数:
231