并查集
末树之墨
窗外梧桐訴寒意。手撫鍵盤,碼字聲憔悴。明月不諳敲題苦,斜光到曉穿朱戶。 秋去冬來南飛季。指針游移,觀算法獨醉。無數壯士飲淚去,我仍編譯似如故。
展开
-
【并查集】-HDU1213-赤裸并查最水
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1213点击打开链接 题目描述:把互相认识的朋友划为一堆,赤裸的并查集教学题。 解题思路: 设立一个数组arr。先让arr【i】= i然后定义两种操作——也就是并查集的“并”和“查”。 = =。。果然还是先说一下我费尽心思弄出来的对并查集的基本理解。 i 1 2 3 4原创 2014-01-23 14:51:22 · 895 阅读 · 0 评论 -
【种类并查集】-POJ-2492-A bug's life
题目链接:http://poj.org/problem?id=2492 题目描述:有种虫子只有雌雄两种性别,给出若干条虫子之间的交配记录。看其中是否有奇怪的事情发生、、、、= = 解题思路:第一次做这种题,不太会做。参考了http://blog.csdn.net/freezhanacmore/article/details/8799495这位的博客。用并查集解决, r 数组中存 0 代表与父节原创 2014-02-03 17:25:55 · 1244 阅读 · 2 评论 -
【最小生成树】+【并查集】-HDU-1233-还是畅通工程
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1233点击打开链接 题目描述: 还是最小生成树的问题,输出能让村村相通的最小修路总长度。 解题思路: 和那个卡车编号几乎一样,kruscal算法解决。因为有了经验,这次1A了。 AC代码: #include #include #include #include using name原创 2014-01-27 16:12:26 · 1025 阅读 · 0 评论 -
【最小生成树】+【并查集】-POJ-1789-Truck History
题目链接:http://poj.org/problem?id=1789点击打开链接 题目描述: 输入N种车型(用一个七位字符串表示),输出这N种车的区别(相同对应位置上的不同字母数)最小和,(∩_∩)。。题目很奇怪。 解题思路: 题目考点是最小生成树,但显然难点在于英语。坑了半天之后还是求助谷歌娘去了(果然我大谷娘精通多国文字o(≧v≦)o~~),好吧,我们说最小生成树的事,这是第一次写最原创 2014-01-27 12:31:48 · 923 阅读 · 0 评论 -
【并查集】-HDU-3172-Virtual Freinds
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3172点击打开链接 题目描述: 输入N个人的关系,输出你最新输入的两个人所在社交分组的人数(相互有朋友关系的视为一个组)。 解题思路: 另设一个RANK数组来存储对应集合的元素个数,在merge合并操作的同时将数组合并即得到答案。对字符串处理用MAP,不然会超时,我就T了N多遍,后来干脆去现学现原创 2014-01-26 16:52:48 · 674 阅读 · 0 评论 -
【并查集】-HDU1272-小希的迷宫
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1272点击打开链接 题目描述: 设计一个迷宫,迷宫应满足这样的要求: 从任意一点出发到达任意另一点的有且仅有一条。判断输入的迷宫是否符合要求。 解题思路: 并查集查找,解题办法就是在合并函数里判断一下,如果这个点已经被归入集合了,现在又要让它重新归入自己一遍的话就说明我们走重复了,从这点出发有原创 2014-01-24 16:57:29 · 717 阅读 · 0 评论 -
【并查集】-HDU-4496-D-City
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4496 题目描述:问毁坏K条边后还有几堆? 解题思路: 还是并查集,反过来做就行了,坑的是这题竟然是EOF输入,它又没说! 然后我还是WA了几下,因为不能每次都遍历查有多少堆,那样会超时,像改完的代码里那样用个Num计数就行了。 这种计数方式应该记着点,可能挺有用的、 AC代码: #inc原创 2014-02-25 10:38:14 · 870 阅读 · 0 评论 -
【最小生成树】+【并查集】-HDU-1879-继续畅通工程
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1879点击打开链接 题目描述:在畅通工程第二期的基础上增加了“有的路已经建好了这一点”。 解题思路:和这个逗比工程第二期区别不大,加几个小点进去就行了。简单。贴代码 AC代码: #include #include #include #include using namespace st原创 2014-01-28 00:04:03 · 1186 阅读 · 0 评论 -
【并查集】-HDU1232-畅通工程
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1232点击打开链接 题目描述:再添加多少条连接能使所有不相交集合相交。 解题思路:和那道化成多少堆的最水题一个道理,然后有N个集合的话,添加N-1条线就能把他们全连起来。 AC代码: #include #include int arr[1050]; int find(int x) {原创 2014-01-23 23:44:45 · 682 阅读 · 0 评论