Loading

[eJOI 2025] Prison

一个略优于 \(N^*\) 的做法。

很明显我们要把数区分开来,那么问题把自环处理掉之后,等价于在完全图尽可能找出多的边不交三元组。

我们直接构造是杂乱无章的,考虑将点按 \(0,1,2\) 染色,染色策略考虑平均分,设 \(k=\lfloor \frac n 3\rfloor\),那么我们可以构造出 \(k^2\) 组三元组,构造策略考虑对于 \(0\) 颜色的第 \(i\) 个和对于 \(1\) 颜色的第 \(j\) 个会跟 \(2\) 颜色的第 \((i+j)\bmod k\) 个连边,不难发现这是对的。

我们发现这样我们把这三组之间的所有边都做好了匹配。然后就可以递归进每一种颜色了,处理子问题。我们发现我们还剩下了 \(n\bmod 3\) 个点,我们直接把它们加到子问题的集合即可,显然不会产生矛盾,于是我们发现这样能找出 \(3080221\) 个三元组,算上自环则有 \(3084521\) 个三元组,略优于 \(N^*\)

posted @ 2025-09-30 15:13  lalaouye  阅读(10)  评论(0)    收藏  举报