CF1063E Lasers and Mirrors题解
一道很好的手玩题,被薄纱了。
首先判掉 \(\forall i,p_i=i\) 的情况(显然是 \(n\) )
然后考虑按照 \(p_i\) 连边,先构造每一个环的方案。发现可以简单放置两面镜子使得 \(i\) 射到 \(p_i\) ,而且只要从高到底构造,两个环之间和一个环里所有的点都一定不会互相产生影响。
但是每一个环的最后一个点很特殊,因为第 \(1\) 个点下面放置了让第 \(1\) 个点射到第 \(2\) 个点的镜子,最后一个点就不能这样射回去。对于环内所有其它的点也是一样的。
但是如果我们另外找一个点,就可以放 \(4\) 面镜子绕回去。
同时,因为从高到低放镜子,这个找的点就不能接收了,答案必然减小 \(1\) 。
显然,对于每一个环,我们希望另外找的一个点一样,于是我们选择 \(n\) 号点(这样比较方便,都是向左射)。
因此,其它情况的答案为 \(n-1\) 。
在那高远的黑色穹顶之下,它的牺牲使圣巢永世不衰