摘要:
题意: 每个人有一个名字和一个姓氏,同名或同性可以做一条船,一条船最多做 2 人,求最少需要多少条船。 思路: 显然是匹配问题,但是朴素的匹配太慢了。 我们考虑如何优化。 人类智慧:我们建一个二叉树,以任意人为根,然后选一个和他同性的连在右子,同名的连在左子,以此类推。 不难发现我们现在可以将匹配转 阅读全文
摘要:
题意: 有一个 \((2n+1)\) 大小的正方形,每个位置放着 + 或 -,每次可以选取一个排列 \(p_i\),将 \((i, p_i)\) 改变状态。 证明:一定可以使得最后 - 不超过 \(2n\) 个。 思路: 这个操作比较复杂,我们先考虑简化。 不难想到用两次操作一起来抵消某些操作,经过 阅读全文
摘要:
边覆盖指选则一些边使得所有顶点都被覆盖到。 最小边覆盖 考虑一个无权无向图的最小边覆盖问题如何解决。 我们用贪心不难发现:不可能选择一条路径超过 \(3\) 长度,否则去掉中间的边照样是边覆盖。 所以最终答案会变成每个连通块都是中间一个点,然后剩下的点全部连向中间这个点。 不妨设总点数为 \(n\) 阅读全文