1. CF1190B Tokitsukaze, CSL and Stone Game
博弈論. 首先把一開始就會輸的情況判掉, 然後容易發現石子最終一定會被取成 \(0,1,\cdots,k\) 的形式.
計算需要取走的石子數, 判斷奇偶性即可.
2. [AGC002E] Candy Piles
還是博弈論. 偷一張官方題解的圖:
按石子數量排序後容易發現操作就是取最左邊一行或最下面一列, 就相當於將棋子向右向上從原點移到邊界直到不能動.
找規律容易發現每一條左下/右上的斜線的勝負是相同的, 結合角上的必敗, 能簡單求出勝負情況.
3. P3750 [六省聯考 2017] 分手是祝願
經典題.
一個顯而易見的觀察是關燈的方案只能是從大到小關, 並且這是最優的. (每個燈都不能用其他燈開關的組合替代, 根據因數性質這是顯然的)
於是我們設 \(f_i\) 爲從還有 \(i\) 個需要按的鍵到還有 \(i-1\) 個需要按的鍵的期望步數.
有 \(f_i=\dfrac{i}{n}\times 1+\dfrac{n-i}{n}(f_{i+1}+f_i+1)\), 因爲按錯了還要按回來.
變形得 \(f_i\) 與 \(f_{i+1}\) 的遞推式, 初始化 \(f_{n+1}=0\).
具體操作時, 先手動模擬一遍得到需要按鍵的次數 \(c\).
若 \(c\leqslant k\) 直接按就行; 否則答案應爲 \(k+f_{k+1}+\cdots+f_{c}\).
4. P7895 『JROI-3』刪樹
你需要這個式子: \(s=\sum\limits_{i=2}^n \text{dis}(1,i)(2-d_i)\)
其中 \(s\) 爲邊權和, \(\text{dis}\) 表示距離, \(d_i\) 表示度數.
式子的證明本身並不難, 容斥即可.
5. P4345 [SHOI2015]超能粒子炮·改
題解區寫的可以說是一個看不懂, 於是又寫了一個.
運算均在模 \(p(=2333)\) 意義下進行.
\(\begin{aligned}f(n,k)&=\sum\limits_{i=0}^k\dbinom{n}{i}\\&=\sum\limits_{i=0}^k\dbinom{n\bmod p}{i\bmod p}\dbinom{\lfloor n/p\rfloor}{\lfloor i/p\rfloor}\end{aligned}\)
枚舉 \(i\bmod p\):
\(\begin{aligned}f(n,k)&=\sum\limits_{r=0}^{p-1}\dbinom{n\bmod p}{r}\left(\sum\limits_{i=0}^k[i\bmod p=r]\dbinom{\lfloor n/p\rfloor}{\lfloor i/p\rfloor}\right)\\&=\sum\limits_{r=0}^{p-1}\dbinom{n\bmod p}{r}\left(\sum\limits_{t=0}^{\lfloor(k-r)/p\rfloor}\dbinom{\lfloor n/p\rfloor}{t}\right)\\&=\sum\limits_{r=0}^{p-1}\dbinom{n\bmod p}{r}f(\lfloor n/p\rfloor,\lfloor(k-r)/p\rfloor)\end{aligned}\)
其中 \(k\geqslant p\). \(k<p\) 時直接有 \(f(n,k)=\sum\limits_{i=0}^k\dbinom{n\bmod p}{i\bmod p}\dbinom{\lfloor n/p\rfloor}{\lfloor i/p\rfloor}=\sum\limits_{i=0}^k\dbinom{n\bmod p}{i}=f(n\bmod p,k)\).
然後發現後面 \(\lfloor(k-r)/p\rfloor\) 的取值很少.
因爲 \(r\in[0,p-1]\), 容易發現只可能有 \(\lfloor k/p\rfloor-1,\lfloor k/p\rfloor\) 兩種取值.
具體地, 若 \(r\in[0,k\bmod p]\), \(\lfloor(k-r)/p\rfloor=\lfloor k/p\rfloor\);
若 \(r\in [k\bmod p+1,p-1]\), \(\lfloor(k-r)/p\rfloor=\lfloor k/p\rfloor-1\).
注意第二個式子的 \(r\) 可能是不存在的.
爲了避免種種問題, 我們可以先都按 \(\lfloor k/p\rfloor-1\) 算, 然後再把實際爲 \(\lfloor k/p\rfloor\) 的部分再加上.
\(\begin{aligned}f(n,k)&=\sum\limits_{r=0}^{p-1}\dbinom{n\bmod p}{r}f(\lfloor n/p\rfloor,\lfloor(k-r)/p\rfloor)\\&=\sum\limits_{r=0}^{p-1}\dbinom{n\bmod p}{r}f(\lfloor n/p\rfloor,\lfloor k/p\rfloor-1)+\sum\limits_{r=0}^{k\bmod p}\dbinom{n\bmod p}{r}\dbinom{\lfloor n/p\rfloor}{\lfloor k/p\rfloor}\\&=f(n\bmod p,p-1)f(\lfloor n/p\rfloor,\lfloor k/p\rfloor-1)+\dbinom{\lfloor n/p\rfloor}{\lfloor k/p\rfloor}f(n\bmod p,k\bmod p)\end{aligned}\)
遞歸計算即可. 注意各種邊界.
6. P8207 [THUPC2022 初賽] 最小公倍樹
數論優化建圖題.