virus(P6698)
首先,这个形式长得像ACAM上DP
一个朴素的想法是\(f_i\)表示字符i最短合法串长
但是这无法转移,考虑问题在,字符串的拼接
令\(f_{i,s,t}\)表示i号字符,从s开始,匹配到tminlength
转移没发直接转,考虑借用辅助数组
枚举i,s令\(g_{j,x}\)表示,从s走了i步,在xminlength
转移:$g_{j,x}+f_{b_{i,j},x,y} \implies g_{j+1,y} $
但是,这个转移,好像有后效性
观察到,这个转移是最优化,可以考虑类似sssp的优化
具体的,一开始有0/1的值,每次拿出一个更新后,把被更新的重新考虑
spfa是可以的,dijstra不太确定
复杂度很大,但是spfa常数小大概是\(O(G\sum_i|b_i|tot^3)\)
浙公网安备 33010602011771号