
并查集(按秩合并/路径压缩)
LauZiyang
exploring
展开
-
省选专练[HAOI2006]旅行
06年的天是晴朗的一年省选两天生成树签到。n*m可以过。先排序,使边权单调。然后再枚举最小值和最大值。比较一下就好了。#include<iostream>#include<cstdio>#include<algorithm>#include<cmath>#include<cstring>#include<queue>...原创 2018-02-23 23:33:41 · 164 阅读 · 0 评论 -
模板并查集
int fa[N]={0};int getfa(int x){ if(fa[x]==x)return x; return fa[x]=getfa(fa[x]); }int merge(int x,int y){ int dx=getfa(x); int dy=getfa(y); fa[dx]=dy;}//for(int i=1;i<=n;i++)fa[i]=i;原创 2018-04-03 18:31:49 · 122 阅读 · 0 评论 -
省选专练【POI2015】Podzial naszyjnika
辣么这个题可是真难首先利用Hash表判断是否可以用T2则是利用并查集的siz好难啊枚举区间段可以用BIT我实际就没懂#include<bits/stdc++.h>using namespace std;typedef int INT;#define int long longinline void read(int &x){ x=0; int f=1; char ...原创 2018-05-05 19:07:44 · 267 阅读 · 0 评论 -
省选专练[USACO18JAN]MooTube
每次给一个起点 然后询问和他相连的点的边权比k大的点有几个 路径边权是两点连接的所有路径上最小值你需要一个可以合并的东西。可并堆?并查集就够了。强制离线,每次把当前符合答案并上答案就是当前联通块大小#include<bits/stdc++.h>using namespace std;const int N=1e5+10;struct edge{ int u,v,w;}e...原创 2018-05-27 20:14:01 · 307 阅读 · 0 评论 -
R5暴力AK赛(NOIP模拟赛)/省选专练HAOI2015树上染色
这真的算NOIP?我还是退役了吧100+100+20原创 2018-07-08 15:23:07 · 221 阅读 · 0 评论 -
R6饮料AK赛(NOIP模拟赛)/省选专练HDU 5713 K个联通块
我好菜啊100+60+30滚犊子吧,两天加起来才410搞个屁我一年前都可以考400不说了,题毕竟比较难T1还是水题但是比昨天难这是一个开绝对值不等式的题。根据对奇数和偶数的最优根的归纳一定有一个解是在原址上于是上界OnLogn水过#include<iostream>#include<cstdio>#include<algorithm>#include<...原创 2018-07-09 17:33:37 · 320 阅读 · 0 评论 -
省选专练CF1027F Session in BSU
如果你做过SCOI2010连续攻击游戏就会一眼发现做法——并查集维护二分图这个做法:并查集要特意把祖先放的较大这样祖先就是这个联通块的最大权#include<bits/stdc++.h>using namespace std;inline void read(int &x){ x=0; char ch=getchar(); ...原创 2018-08-20 09:42:20 · 200 阅读 · 0 评论 -
省选专练之GCD生成树
非常著名的一道经典题。考虑一个性质:如果两个点GCD相同必然更优。于是我们有了一些点权互不相同的点。发现点权并不大,从大到小枚举点权。用并查集维护联通性。#include<iostream>#include<cstdio>#include<cstring>#include<cmath>#include<algo...原创 2018-10-11 07:49:19 · 300 阅读 · 0 评论