P3750
首先考慮必殺次數比較小的怎麼算,不難發現一直按最後一個 \(1\) 是對的,理由是最後一個 \(1\) 的位置 \(x\),之前的位置改不了 \(a_x\),按多倍的 \(x\) 一定不優。
那隻要處理出 \(i=1,...,n\) 的因數,然後暴力算就行了,有一個上界 \(n\),這時候已經有 80pts 了,設算出次數為 \(cnt\)。
然後再找一下性質,按的方案是固定的,因為任意一個按鈕都無法透過別的替代,考慮 dp,設 \(f[i]\) 表示還有 \(i\) 個按鈕要按,隨機按按掉一個要按的期望次數,那麼 \(f[i]=\frac{i}{n}\times 1+\frac{n-i}{n}\times (f[i]+f[i+1]+1)\),前面那個表示按到一個需要的機率是 \(\frac{i}{n}\),次數是 \(1\),後面那個是按錯了的機率是 \(\frac{n-i}{n}\),那麼要按回去,需要 \(f[i+1]\) 次,在按少一次,需要 \(f[i]\),還有浪費的當前 \(1\) 次。
轉出來這個柿子,得到 \(f[i]=\frac{n+(n-i)\times f[i+1]}{i}\),邊界 \(f[n]=1\)。出答案還要一個分討,如果 \(k\leq cnt\),答案就是 \(cnt\),否則,答案是 \(\sum_{i=k+1}^{n}f[i]+k\)。