并查集
BrooksBUAA
这个作者很懒,什么都没留下…
展开
-
[BZOJ 1015][JSOI2008]星球大战starwar:并查集
点击这里查看原题直接去删边很难处理,但因为本题可以离线,因此可以考虑逆向操作,将删边改为加边,这样就能用并查集处理。/* User:Small Language:C++ Problem No.:1015 */ #include<bits/stdc++.h> #define ll long long #define inf 999999999 using namespace std; const in原创 2017-04-08 15:19:51 · 297 阅读 · 0 评论 -
[HDU 5923]Prediction:并查集
点击这里查看原题考虑到n很小,对于树上每个点,选择它便会同时选择它的所有祖先,因此可以对每个点维护一个并查集,询问时做并查集合并即可。 复杂度O(nm+nk)。 不知道为何,我的get函数不加inline就会TLE,加上立马就过了,因为这个问题调了好几个小时。/* User:Small Language:C++ Problem No.:5923 */ #include<bits/stdc++.h原创 2017-04-12 10:46:22 · 425 阅读 · 0 评论 -
[HDU 5441]Travel:并查集
点击这里查看原题离线处理,将所有边和询问读入后按x排序,从小到大加边,若不在同一个联通块内则ans加上两个联通块合并后的答案,减去原来的两个块的答案。/* User:Small Language:C++ Problem No.:5441 */ #include<bits/stdc++.h> #define ll long long #define inf 999999999 using namesp原创 2017-04-12 14:43:50 · 295 阅读 · 0 评论 -
[BZOJ 2303][Apio2011]方格染色:并查集
点击这里查看原题黄学长的题解没完全看懂,留坑待填 http://hzwer.com/6678.html/* User:Small Language:C++ Problem No.:2303 */ #include<bits/stdc++.h> #define ll long long #define inf 999999999 using namespace std; const int M=1e原创 2017-05-03 17:46:58 · 614 阅读 · 0 评论 -
[UOJ 131]【NOI2015】品酒大会:后缀数组+并查集
点击这里查看原题首先用后缀数组求出每个串和上个串的公共前缀长度,然后按公共前缀长度由长到短进行合并,用并查集维护。/* User:Small Language:C++ Problem No.:131 */ #include<bits/stdc++.h> #define ll long long #define inf ((ll)1<<60) using namespace std; const in原创 2017-06-05 08:45:50 · 484 阅读 · 0 评论