1123模擬賽

地山發表於2024-11-23

\(T1\),注意點與邊不同階時分著開,別開小了。
\(T2\)
當dp陣列由於太大開不下時,可以用記憶化搜尋代替。
最長不公共子序列:首先可推出\(f[i][j]=min(f[i-1][j],f[i][j-1])(a[i]==b[j]),f[i-1][j-1]+1(a[i]!=b[j])\),由於一段連續的\(a[i]!=b[j]\)可以一下全消掉,所以可以看一個\(a[i]!=b[j]\)的最靠近的\(a[k]==b[p]\),中間可以全消掉。由於\(i-j=k-p\),可設\(vector<int>f[x]\)代表\(i-j\)\(x\)的所有\(i\),每次dfs時二分即可)