2023.6 水題記錄 (持續更新)

1. CF1190B Tokitsukaze, CSL and Stone Game

博弈論. 首先把一開始就會輸的情況判掉, 然後容易發現石子最終一定會被取成 \(0,1,\cdots,k\) 的形式.

計算需要取走的石子數, 判斷奇偶性即可.

2. [AGC002E] Candy Piles

還是博弈論. 偷一張官方題解的圖:

image

按石子數量排序後容易發現操作就是取最左邊一行或最下面一列, 就相當於將棋子向右向上從原點移到邊界直到不能動.

找規律容易發現每一條左下/右上的斜線的勝負是相同的, 結合角上的必敗, 能簡單求出勝負情況.

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 初賽] 最小公倍樹

數論優化建圖題.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章