一道很好的手玩題,被薄紗了。
首先判掉 \(\forall i,p_i=i\) 的情況(顯然是 \(n\) )
然後考慮按照 \(p_i\) 連邊,先構造每一個環的方案。發現可以簡單放置兩面鏡子使得 \(i\) 射到 \(p_i\) ,而且只要從高到底構造,兩個環之間和一個環裡所有的點都一定不會互相產生影響。
但是每一個環的最後一個點很特殊,因為第 \(1\) 個點下面放置了讓第 \(1\) 個點射到第 \(2\) 個點的鏡子,最後一個點就不能這樣射回去。對於環內所有其它的點也是一樣的。
但是如果我們另外找一個點,就可以放 \(4\) 面鏡子繞回去。
同時,因為從高到低放鏡子,這個找的點就不能接收了,答案必然減小 \(1\) 。
顯然,對於每一個環,我們希望另外找的一個點一樣,於是我們選擇 \(n\) 號點(這樣比較方便,都是向左射)。
因此,其它情況的答案為 \(n-1\) 。