
并查集
lemonoil
竞赛党一枚
展开
-
LA 3644 X-Plosives [并查集]
考虑到一个集合内的存在与否的特点,想到并查集。 拒绝装车->与已装的化合物形成易燃物。 简单并查集的应用。#include<iostream>#include<cstdio>#include<cstring>#include<string>#include<set>#include<queue>#include<algorithm>#include<vector>#include原创 2017-07-12 08:00:02 · 252 阅读 · 0 评论 -
BZOJ1529 ska Piggy banks [并查集]
1529: [POI2005]skaPiggy banksTime Limit: 5 Sec Memory Limit: 64 MBSubmit: 1431 Solved: 709DescriptionByteazar 有 N 个小猪存钱罐. 每个存钱罐只能用钥匙打开或者砸开. Byteazar 已经把每个存钱罐的钥匙放到了某些存钱罐里. Byteazar 现在想买一台汽车于是要把所有的钱都取原创 2017-10-10 17:27:27 · 287 阅读 · 0 评论 -
图论训练 重量差异 [并查集]
懒得找原题了,全是模板题。。。。重量差异(b.cpp,1s,256MB)【描述】 在实验室中,Nathan Wada作为助手的职责是测定两个样品的重量差异。当样品的差异很小时,使用天平比使用弹簧秤能得到更精确的结果,所以Nathan Wada只使用天平来测得一些样品的重量差。Nathan Wada偶尔会被询问一些样品的重量差,而他能否回答这些问题取决于在回答相应问题时他已经得到的测量结果。由于Na原创 2017-10-17 21:56:21 · 814 阅读 · 0 评论 -
BZOJ4569 萌萌哒 [倍增][并查集]
没想到这两个东西还可以这么用,我们可以用f[i][j]f[i][j]表示[i,i+2j−1][i,i+2^j-1]这一段区间属于哪一个集合,没有则等于0. 那么每次合并我们可以把这个限制拆成log个区间,依次合并起来。 若f[i][j]f[i][j]和f[s][t]f[s][t]同属一个集合,那么f[i][j−1]f[i][j-1]和f[s][t−1]f[s][t-1],f[i+2j−1][j−原创 2017-09-20 11:43:27 · 340 阅读 · 0 评论 -
BZOJ1116 CLO [并查集]
判断一个联通图合法的依据就是枚举到x,y时有find(x)==find(y),那么就打标记就行了。#include<cmath>#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>using namespace std;template<class T>inline void read(T &res)原创 2017-09-19 17:05:09 · 375 阅读 · 0 评论 -
洛谷 P2451 [SDOI2005]遗传代码 [并查集]
题目连接 什么欧拉子图,欧拉环,欧拉一笔画等等。。。并查集+特判解决一切问题。#include<stdio.h>int f[1024],cnt[1024],cnt2[1024],size[1024],n,ans;int findroot(int x){ if(f[x]==x)return x; return f[x]=findroot(f[x]);}int main(){原创 2017-07-22 17:31:38 · 644 阅读 · 0 评论 -
UVA 11987 Almost Union-Find [并查集]
题目传送门并查集裸题,全当练手#include<cstdio>#include<string>#include<iostream>#include<algorithm>using namespace std;const int MAXN = 100010;int n,m;int father[MAXN];int sum[MAXN],num[MAXN];template<class原创 2017-07-10 11:40:30 · 246 阅读 · 0 评论 -
可持久化并查集(外传)——[按秩启发式合并]
重新开坑奉上最近觉得的神作(至少从小说与这首曲子来说是这样的)。之前写到过可持久化并查集三部曲,现在想来,唯独没有提到按秩合并,在研习了启发式合并后,决定重新为并查集写一份外传,记录并查集的另一作用。什么是按秩合并,就小编来看,其实就是启发式合并的一种,在满足不路径压缩改变fa[x]的前提下,能够使得并查集的深度为lognlog^n级别的。但是提醒,这里的按秩合并与路径压缩并不矛盾,按秩合并关键在u原创 2017-07-09 20:49:45 · 830 阅读 · 0 评论 -
BZOJ 4668 冷战 [并查集][按秩合并&启发式合并]
</tr> 4668: 冷战Time Limit: 10 Sec Memory Limit: 256 MBSubmit: 364 Solved: 182[Submit][Status][Discuss]Description1946 年 3 月 5 日,英国前首相温斯顿·丘吉尔在美国富尔顿发表“铁幕演说”,正式拉开了冷战序幕。美国和苏联同为世界上的“超级大国”,为了争夺世界霸权,两国原创 2017-07-07 16:56:30 · 582 阅读 · 0 评论 -
7GOJ 学院 [连通性][并查集/DFS]
题意:询问一个图中有多少个环与链。 其实跑一遍DFS+vis标记就行了,随手打上并查集。。#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>using namespace std;const int N=200010;const int mod=1000000007;long long tot,原创 2017-07-15 20:39:00 · 311 阅读 · 0 评论 -
BZOJ3694 最短路 [最短路径树]
3694: 最短路Time Limit: 5 Sec Memory Limit: 256 MBSubmit: 231 Solved: 119[Submit][Status][Discuss]Description给出一个n个点m条边的无向图,n个点的编号从1~n,定义源点为1。定义最短路树如下:从源点1经过边集T到任意一点i有且仅有一条路径,且这条路径是整个图1到i的最短路径,边集T构成最短路树原创 2017-10-11 15:39:05 · 895 阅读 · 0 评论