![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
并查集问题
四维2000
SW2000
展开
-
POJ 3695 nework (Tarjan的并查集变形)
题意:一棵无向连通图,存在重边,q次操作每次加一条边,问每次加边后的割边数。 解析:最朴实的思想是缩点然后对树上不断求lca,虽然可以但是有点麻烦。可以把low数组的含义改变下,不再存dfn_cnt的最小值,而是可以到达的dfn最小点的下标,这样实际上跑一遍tarjan就可以求出一个用并查集维护好的树。这样修改时只需要不断向上合并父节点就可以了,感觉这个思路很巧妙,是对于tarjan思想的一种变形改造。 代码: #include <cmath> //定义数学函数 #include <原创 2020-09-25 09:10:13 · 84 阅读 · 0 评论 -
PTA L2-010 排座位(并查集)
L2-010 排座位(25 分) 布置宴席最微妙的事情,就是给前来参宴的各位宾客安排座位。无论如何,总不能把两个死对头排到同一张宴会桌旁!这个艰巨任务现在就交给你,对任何一对客人,请编写程序告诉主人他们是否能被安排同席。 输入格式: 输入第一行给出3个正整数:N(≤100),即前来参宴的宾客总人数,则这些人从1到N编号;M为已知两两宾客之间的关系数;K为查询的条数。随后M行,每行给出一对宾客之间的...原创 2019-03-09 13:01:15 · 390 阅读 · 1 评论