A
非常好特判
一共就五種情況,相等,或者正反兩種包含(都是不能可能不包含),或者正反兩種先後(都是可能不相等),寫五個 if 就行了
B
我到底為什麼要跳了這題???????????????????????????????????????????
顯而易見這玩意模著模著就變成迴圈了(我真沒看出來),\(1\) 到 \(y-1\) 為一個迴圈節,所以實際上只需要找一點就行了(實際上是一直找到第一個取模的地方,這樣我們就能 \(O(1)\)) 解決這題
C
考慮定義 \(f[i]\) 表示進行到第 \(i\) 位時候的答案,可以發現狀態轉移:
\[f[i]=min(f[k],f[k]+1)
\]
然後再判一下轉移還是不轉移就行了.
而且發現 \(f[i]\) 是有單調性的,套四邊形那裡的板子就行.
賽時主要是寫麻煩了,定義的 \(f[i][1/0]\) 表示進行到第 \(i\) 位,並且選/不選第 \(i\) 位的答案,得到轉移方程:
\[f[i][0]=max(f[i-1][0],f[i-1][1])
\]
\[f[i][1]=max(f[k][0]+1)
\]
注意到後一個顯然需要單調佇列搞一下,於是調了一小時😥
最後發現其實是因為 寫單調佇列最佳化別他媽開兩維的
改成上面那版就過了,但是賽後發現濤哥根本就沒寫 DP,這題 貪心就能過😅😅😅😅😅😅😅
D
沒開這題,但是裴蜀定理能擴充套件到多元,記一下.