1. 程式人生 > 其它 >題解-AtCoder Beginner Contest 242

題解-AtCoder Beginner Contest 242

in and ex, combination, dp, probability.

比賽連結

所有提交記錄即程式碼

A - T-shirt

按題意模擬即可。

B - Minimize Ordering

對字串排序。

C - 1111gal password

簡單數位dp,記 \(f_{i,j}\) 代表第 \(i\) 位是 \(j\) 的方案數。轉移從 \(f_{i-1,j-1},f_{i-1,j},f_{i-1,j+1}\) 即可。

D - ABC Transform

函式遞迴題,容易發現每進行一次操作位置變成原來的 \(2\) 倍或 \(2\) 倍加 \(1\),那麼我們倒著做直到 \(k=1\) 時停止,不斷把 \(k\) 除以 \(2\)。而 \(k=1\) 時只用考慮 \(s[1]\)

。複雜度 \(O(\log{k})\)

E - (∀x∀)

簡單計數,可以參考數位dp的思想,列舉一段字首頂到了最大值,下一位不到,後面 \(26\) 種字母隨便填。

F - Black and White Rooks

簡單容斥,考慮列舉 \(i\)\(j\) 列放白子,那麼白子必然放在交叉處,可以抽象成一個 \(i\times j\) 的矩形。要求每行每列都有一個,那麼先隨便放,然後減去某些行或某些列沒有的情況。然後再在 \(n*m-i*m-j*n+i*j\) 個格子裡放黑子。

G - Range Pairing Query

莫隊傻逼題,精細分析複雜度是 \(O(n\sqrt{Q})\)

,能衝。