BZOJ2707:「SDOI2012」走迷宫 – 题解

主要思路

这题细节真他妈多。

首先,看到 SCC 大小少于 \(100\) 就可以知道是 DAG DP + Tarjan + 高斯消元了,比较显然。然而实现起来非常麻烦。我们在反图上做 DP 的时候,从 queue 拿出顶点后先高斯消元一波,把环内的、SCC 之间的(也就是之前求出的 \(dp[u]\))一起放到方程组里进行消元即可。细节看代码吧,真的呕了。

Continue reading →

BZOJ2554:Color – 题解

主要思路

好难理解啊这题,让我想想。

首先,我们要把这个问题搞成一个二元问题,可以枚举最后的颜色,然后来单独计算。考虑最后的颜色为白色,其他颜色是黑色。转换成这个问题后,可以考虑进行转移。

Continue reading →

BZOJ2961:共点圆 – 题解

主要思路

这道题作为偏序题还是很有意思的,第一次碰到「二维偏序」。

先考虑偏序条件,设圆原点在 \((a, b)\),现在有一个点 \((x, y)\),如果这个点被覆盖:

\[ (x – a)^2 + (y – b)^2 \leq a^2 + b^2 \]

Continue reading →