并查集
德鸭
时间并不会因为你的迷茫和迟疑而停留,就在你看这篇文章的同时,不知道有多少人在冥思苦想,在为算法废寝忘食,不知道有多少人在狂热地拍着代码,不知道又有多少提交一遍又一遍地刷新着OJ的status页面……
没有谁生来就是神牛,而千里之行,始于足下!
展开
-
关系性并查集
一直自认为并查集不难自从碰到了所谓的带权的并查集之后就彻底扑街。然后各种搜网上的大牛题解,有些不理解但无意中翻到了别人的另一种解题思路,然后认为特别好也很好理解。特别感觉这位同学写的两篇博客 给出链接 http://blog.csdn.net/ky961221/article/details/53383349 http://blog.csdn.net/ky961221/ar转载 2017-02-25 23:00:34 · 1196 阅读 · 0 评论 -
poj1182 一道比较经典的并查集
题目 http://poj.org/problem?id=1182 经典的题就是牛逼,这道题把我看的呀,因为弱刚学会并查集然后队里的题里面有这道题,就尝试的做了一哈,然后果断gg。题意就是 判断有多少句假话。只要满足1) 当前的话与前面的某些真的话冲突,就是假话; 2) 当前的话中X或Y比N大,就是假话; 3) 当前的话表示X吃X,就是假话。 都是假话。第2,3条都原创 2017-02-16 14:47:35 · 145 阅读 · 0 评论 -
关系并查集 处理关系的方法
就是给自己留个底子,免得忘记如果忘了(画个向量图,rate为当前节点到父亲节点的各种权值)!!!1.求和int f(int x){ if(x==pre[x]) return x; int fx=pre[x]; pre[x]=f(pre[x]); sum[x]+=sum[fx]; return pre[x];} int fx原创 2017-07-11 21:24:32 · 553 阅读 · 0 评论 -
2017暑假集训 div1 并查集(1)
HDU 3038(带权值并查集)题意:给出m组区间[a,b],以及其区间的和,问有矛盾的有几组;做法:sum[x]是x到根这段路径上的和,那么根一定是坐标越小的,那么如果说对于同类(同一个集合)的判断就是sum[b]-sum[a-1]是否等于给出值。#include #include #include #include using n原创 2017-07-10 23:49:23 · 199 阅读 · 0 评论 -
2017暑假集训 div1 并查集(2)
POJ 1984题意:有多个点,在平面上位于坐标点上,给出一些关系,表示某个点在某个点的正东/西/南/北方向多少距离,然后给出一系列询问,表示在第几个关系给出后询问某两点的曼哈顿距离,或者未知则输出-1。做法:x,y左边分别两个权值做权值并查集后,对所有询问强制离线,按询问时间戳排序,处理答案即可。(类似莫队之类的)#include #include #include原创 2017-07-11 21:45:07 · 182 阅读 · 0 评论