题目 https://www.luogu.com.cn/problem/P1536 这道题第一眼的思路感觉是最小生成树,但是发现它的边没有权值,所以这道题的问题是求解这个图的连通块的个数,而需要连接的道路条数就是连通块的个数减一 代码 #include<iostream> #include<cstd ...
分类:
其他好文 时间:
2020-06-28 22:50:01
阅读次数:
103
题目 https://www.luogu.com.cn/problem/P2814 思路 我们跨一使用string类型的map直接进行并查集! 注意这种形式的map的初始化!! 代码 #include<iostream> #include<cstdio> #include<string> #incl ...
分类:
其他好文 时间:
2020-06-28 22:21:52
阅读次数:
51
P3367 【模板】并查集 #include<bits/stdc++.h> using namespace std; const int N=1e4+10; int a[N]; int n,m; int fa[N]; int find(int x){ if(fa[x]==x){ return x; ...
分类:
其他好文 时间:
2020-06-28 20:32:04
阅读次数:
33
传送门 就是简单的ST表问题+ LCA,用ST表预处理好连续区间的LCA,然后进行查询 注意HDU是多组输入,把相应的值清零即可。 LCA采用倍增法,lg是常数优化。 ST表用模板,维护$[i,i + 2^j - 1]$这个区间的LCA 时间复杂度为预处理$O(nlogn)$ 查询$O(mlogn) ...
分类:
其他好文 时间:
2020-06-27 09:32:26
阅读次数:
54
集训之6-26模拟赛一 T1 [信息传递][1] 就是要找最小环,开始写拓扑结果挂了,因为写拓扑找的是连通图,但这个可以不连通,比如有分离的一个大环和一个小环。求这道题最小环可以是Tarjan求 \(size>1\) 的强联通,也可以用并查集。时间差不多,并查集可能不太好想但代码长度和内存大概是Ta ...
分类:
其他好文 时间:
2020-06-26 22:40:33
阅读次数:
62
##题面 Problem Description 有一群人,打乒乓球比赛,两两捉对撕杀,每两个人之间最多打一场比赛。 球赛的规则如下: 如果A打败了B,B又打败了C,而A与C之间没有进行过比赛,那么就认定,A一定能打败C。 如果A打败了B,B又打败了C,而且,C又打败了A,那么A、B、C三者都不可能 ...
分类:
其他好文 时间:
2020-06-25 23:09:36
阅读次数:
39
https://www.luogu.com.cn/problem/P5443 Solution 有一个显然的暴力,对于一个询问直接枚举$m$条边,如果边权$\ge w$就在并查集中合并。 答案就是$s$所在连通块的大小。对于修改,直接更改边的权值即可。 如果没有修改的话还可以将操作离线,排序后不断向 ...
题意:给出N个物品及每次获得第i个物品的概率 问获得所有物品的次数的期望、 从简单考虑 若只有一个物品 获得一个物品的期望是1/p (1/p * p = 1) 这样可以推理得到 E1 = 1 / p1 , E2 = 1/ p2 , E12 = 1 / (p1+p2) (即获得第一个物品或第二个物品的 ...
分类:
其他好文 时间:
2020-06-25 21:39:16
阅读次数:
72
这么简单的东西我现在才学,血亏... on tree大家都能翻译过来。至于dsu,大概就是并查集的意思吧。 但是这并不代表并查集上树了,只是代表用到了启发式合并的思想。 进入正题: 我们有一颗树,有对于子树的询问。这种题暴力就是遍历每个节点的子树中的所有信息暴力统计出来更新答案,然后消除该节点的贡献 ...
分类:
其他好文 时间:
2020-06-24 22:00:15
阅读次数:
46
为什么以它为例,因为这个最水,LCA唯一黄题。 首先做两道并查集的练习(估计已经忘光了)。简单来说并查集就是认爸爸找爸爸的算法。先根据线索理认爸爸,然后查询阶段如果发现他们的爸爸相同,那就是联通一家的,不同就不是一家的。 两道简单例题 P1551 亲戚 P1536 村村通 以P1551 亲戚为例 题 ...
分类:
编程语言 时间:
2020-06-24 20:14:58
阅读次数:
70