首页
Python
Java
前端
数据库
Linux
Chatgpt专题
开发者工具箱
poj1417专题
poj1417 并查集+背包
题目意思很明确,给出相对关系和各种类人数,让求是否能确定所有人所属的种类,说no的两个人必然不在一类,说yes的必然在一类。 种类划分,由于只给了相对关系,很容易想到用种类并查集,区间合并多取几次异或就行了。 划分完成后,形成多个集合,每个集合由两部分组成,分别为与根节点相同的一类和与根节点不同的一类,用一个sum数组记录每个集合中每类人数。 要确定是否能将所有集合划分成两部分,就需要明确两
阅读更多...
poj1417 True Liars[并查集+背包]
有一点小转化的题,在设计dp状态时还是有点费脑筋的。 地址。 依题意,首先可以知道肯定要扩展域的并查集(明摆着的嘛)。一个"好人"域,一个"坏人"域,每句话分两种情况考虑连边。假设是yes,同域连边,否则异域连边(经典模型嘛)。然后就是要考虑如何验证是否有$x$个好人$y$个坏人的唯一解存在。这取决于联通块。 可以参考我瞎画的图,上面点1~N,下面点N+1~2N。 由于并查集合并时操作的对称
阅读更多...