雯舞

Love three things int he world -- Manchery

[并查集 杂题] BZOJ 4452 [Cerc2015]Export Estimate

关键就是一个观察 怎么判断是个环 在维护并查集的时候顺便维护下size和度数为2的点的size#include<cstdio> #include<cstdlib> #include<algorithm> using namespace std;inline c...

2017-04-13 17:14:40

阅读数:236

评论数:0

[CDQ分治 并查集] BZOJ 1453 [Wc]Dface双面棋盘

基本就是加边删边维护连通性的问题了 用并查集维护按时间分治做两遍就好了 #include #include #include #include using namespace std; inline char nc(){ static char buf[100000],*p1=b...

2017-01-20 08:00:34

阅读数:193

评论数:0

[欧拉回路 并查集] Codeforces 547D #305 (Div. 1) D. Mike and Fish

这个题建图不难想 建成一个二分图 左边表示x右边表示y 然后在xy之间连边 奇点我们用一个额外点都连起来  然后就是找欧拉回路 用并查集 不然后T #include #include #include using namespace std; inline char nc(){ ...

2017-01-08 09:37:05

阅读数:319

评论数:0

[LCT维护最小生成树 || CDQ分治 || 线段树 并查集 dfs树] Codeforces 603E #334 (Div. 1) E. Pastoral Oddities

这是个好题啊 这种数据结构题和dfs树有什么关系呢 唯一的关系就是 一个联通块当且仅当有偶数个点时能满足存在边集的一个子集每个点度数为奇数 或者更一般的结论 当一个联通块中每个点的度数奇偶性要求之和是偶数 那么存在 然后我们就转化为一些边使得每个联通块为偶数 这个出题人的标算我没看懂啊 LCT在线...

2017-01-04 16:45:31

阅读数:723

评论数:0

[并查集] BZOJ 2919 [Poi1998]Word equations

所有的相同字母(包括0,1)的对应位置取值相等并且方程左右的对应位置取值相等,相等关系具有传递性,故我们使用并查集,每个位置作为一个元素,将所有取值要求相等的位置所对应的集合合并,那么有以下几种情况: 1.  左右长度不等,ans=0 2.  1与0被合并至一个集合,ans=0 3.  设k...

2016-12-17 11:28:45

阅读数:156

评论数:0

[并查集 || 点分治 树重心] 2015 计蒜之道 复赛 京东的物流路径

官方题解: 本题有多种解法。首先是点分治的思想,在点分治的时候,我们每一次选取一个中心,先统计过中心的路径最大值,然后删掉中心,递归处理其它子树。统计过中心的路径最大值,我们以中心为根深度搜索一遍,一个需要注意的地方是路径的两个端点不能在同一子树内,因为这样可能会重复统计。所以我们把路径按子...

2016-11-10 18:14:03

阅读数:222

评论数:0

[删边最短路 并查集||线段树] BZOJ 2725 [Violet 6]故乡的梦 & 4400 tjoi2012 桥

首先求出一条S到T的最短路P,如果不是最短路上的边删了肯定不影响答案。 接着证明去掉一条边(u,v)之后最短路一定是这样存在一条边(x,y),然后最短路径是S->x->y->T,并且S->x,y->T都是原图中的最短路。 考虑S的最短路径图和T的最短路径图。 于是只要...

2016-11-04 07:04:50

阅读数:654

评论数:0

[删边最短路 并查集] BZOJ 1576 [Usaco2009 Jan]安全路经Travel

hzwer是这么说的 首先用dijkstra得出最短路径树 然后 我的做法是树链剖分+线段树 对于一条不在最短路树的有向边(无向可看成两条有向)u-v,长度L,设t=lca(u,v) 那么对于t-v的路径上所有点x,都可通过1-t-u-v-x 路径长度为d[u]+L+d[v]-d[x...

2016-11-04 07:01:34

阅读数:211

评论数:0

[双连通分量 缩点 并查集] POJ 3177 Redundant Paths & 3352 Road Construction

双连通分量缩点 并查集 竟然是第一次打 缩点后是一棵树 结论是(叶子节点+1)>>1  也就是每次取lca最浅的两个叶子连边 #include #include #include #include #define cl(x) memset(x,0,sizeof(x)) using ...

2016-10-28 08:20:59

阅读数:247

评论数:0

[并查集 构造] Codeforces 723F#375 (Div. 2) F. st-Spanning Tree

并查集乱搞的构造 竟然因为return printf的返回值 无限RE #include #include #include using namespace std; inline char nc(){ static char buf[100000],*p1=buf,*p2=bu...

2016-10-09 08:19:43

阅读数:333

评论数:0

[仙人掌 并查集 组合计数] BZOJ 4450 [Neerc2015]Cactus Jubilee

题意:给你一棵仙人掌,求有多少种方案使得移动一条边之后的图形仍是仙人掌。 题解: #include #include #include using namespace std; typedef long long ll; inline char nc() { static char b...

2016-07-09 20:38:03

阅读数:553

评论数:0

[并查集] BZOJ 4243 交朋友

Po姐说 把能进行会议的国家之间都用并查集连接起来,然后把每个进行过会议的国家扔进队列跑BFS,将搜到的国家用并查集连接  最终答案等于每个单点的出度个数+2*C(每个集合的大小,2)  #include #include #include #include #define V ...

2016-06-22 18:37:34

阅读数:640

评论数:0

[并查集 树] BZOJ 4551 [Tjoi2016&Heoi2016]树

本来想的二分加树链剖分 结果直接离线并查集可过 记录fat为上边的第一个有标记的祖先 #include #include #include #define V G[p].v using namespace std; inline char nc(){ static char buf[1...

2016-05-29 21:37:28

阅读数:227

评论数:0

[CDQ分治 并查集 || 随机化权值Xor] BZOJ 3237 [Ahoi2013]连通图

考虑CDQ分治 把这半边对后半边没有影响的操作做了 然后分治 用并查集维护 开个栈暴力还原 #include #include using namespace std; inline char nc() { static char buf[100000],*p1=buf,*p2=buf; ...

2016-05-08 12:56:31

阅读数:675

评论数:0

[CDQ分治 并查集 || LCT] BZOJ 4025 二分图

Po姐的姿势:http://blog.csdn.net/popoqqq/article/details/45671813 LCT的做法: 考虑随便维护一个图的生成树,不难发现,如果一条边加入后,形成奇环的话就不是二分图 否则的话,我们可以无视这条边,因为如果之后再新加入一条边和这...

2016-05-02 13:36:57

阅读数:376

评论数:0

[Random Heap 并查集] BZOJ 1455 罗马游戏

裸的可并堆 Random Heap 还是很兹瓷啊 #include #include #include #include using namespace std; typedef long long ll; inline char nc(){ static char buf[100000]...

2016-04-30 16:07:31

阅读数:253

评论数:0

[乱搞 暴力 并查集] BZOJ 3563 DZY Loves Chinese

好神奇的一道题 不多说 最后一次询问暴力并查集 #include #include #include using namespace std; inline int read(int &x) { static char c=getchar(); for (;!(c>=...

2016-04-30 13:57:20

阅读数:397

评论数:0

[分块 并查集] BZOJ 4537 [Hnoi2016]最小公倍数

题解:http://www.cnblogs.com/y7070/p/5412793.html 暴力分块 ”对于每一组,将符合一组a的询问选出来,将这些询问和这一块之前的边(a一定小于这些询问)按b排序,然后交替插入,询问,对于一个询问,在当前块也有可能有满足的边,我们将其加入,考虑后并撤销...

2016-04-22 10:23:24

阅读数:444

评论数:0

[并查集 思路题] BZOJ 2503 相框

%%% PoPoQQQ http://blog.csdn.net/popoqqq/article/details/48031135 #include #include #include #include using namespace std; inline char nc() { sta...

2016-04-19 18:30:49

阅读数:292

评论数:0

[平面图 并查集] BZOJ 4423 [AMPPZ2013]Bytehattan

平面图转化为对偶图,然后就会有些奇怪的性质可以利用 并查集维护 #include #include #include using namespace std; inline char nc() { static char buf[100000],*p1=buf,*p2=buf; if (...

2016-03-30 17:47:18

阅读数:501

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭