- 大概就是考場思路,當時覺得細節太多沒寫完
考慮從後向前 出當前的合法長度,從前向後維護可能成爲答案的串的集合,需要根據這個 判一下合法性,注意到若一個串不是另一個的前綴一定可以刪除一個
串的集合是一個串和它的若干個前綴,用一個串和一個集合可以表示一個狀態
考慮當前的串拼接進去,需要把不是前綴的串給篩掉,發現只需要求當前串串頭和答案串每個位置的 ,用 解決
反思了一下爲啥我的做法細節麻人,就是我插入串的時候要彈前面的,彈後面的
而題解求出了一個最小值(字典序相同長度大的小),所以只需要把集合中的點拿去更最小值比就可以快速更新,
- 考慮限制是不經過兩條直線( 維空間),即 爲第一次走到第一條直線不經過兩條直線的方案數
爲第二條,記總方案數爲 表示從 走到 上,從 走到 ,以及從 走到 上,進行容斥,容易寫成生成函數的形式:
答案是 的末項,注意其中 ,解出來多項式求逆即可,