已经快三周了啊--终于把挖的坑填了-- 首先显然是把除了自身的所有border拿出来,即做 \(\left\{ n - b_1, n - b_2, \dots, n - b_k, n \right\}\) 的完全背包.但是值域很大,所以考虑同余最短路. 首先,由 [国家集训队]墨墨的等式 的经验,显然可以 \(O(n^2)\),因为最长border可以很小,所以可以卡到满. 然后就要一个性质:一个串的border可以分成 \(O\left( \log n \right)\) 个等差数列.证明咕咕…