昨天的 div2 比賽
七題裡寫了四題 排在 488 名
積分應該會小降一點
沒寫出第五題 = 前四題比不過別人 = 掉分
https://codeforces.com/contest/1792
A. GamingForces
如果怪物的血 >= 2 則使用單體傷害是最佳解
B. Stand-up Comedian
如果 a1 = 0 則隨便講一個笑話就結束了
否則的話 a2 a3 可以兩兩一組互相抵銷
最後看 a2 a3 剩下的以及 a4 能夠講多少
C. Min Max Sort
首先發現,如果你把 k 搬到最前面
則 k-1, k-2, ..., 1 也全部都要依序搬到最前面
假如搬到最前面的最右端是 L,搬到最後面的最左端是 R
則 [1..L-1] 和 [R+1..n] 也都要搬
需要的次數是 max(L-1, n-R)
搬完之後排好序的條件是 L+1, ..., R-1 原本就排好序
也就是可以從 1 開始往右拿 2, 3, ... 直到下一個數在左邊為止
算出這個 subsequence 需要的步數,最後取最小的就好了
D. Fixed Prefix Permutations
對某個 permutation p 而言
能拿到 k 分的條件是存在另一個 permutation q 有
q[p[i]] = i, for 1 <= i <= k
所以你把 q 轉成 index 的形式當字串搜尋就好了
我用 trie 寫了老半天 後來看別人的 code 才發現
其實 n <= 5e4, m = 10 的話
直接用一個 set 存 nm 個字串也沒什麼問題
浪費好多時間,加上又沒寫出第五題,整個就很虧