LIS(最長共通部分列)
#LIS DP
まずはコードを
code:cpp
ll dp20052005;
void _main(){
STR(s,t);
ll m = s.length(),n = t.length();
rep(i,0,m){
rep(j,0,n){
if(si==tj)dpi+1j+1=dpij+1;
else dpi+1j+1=max(dpij+1,dpi+1j);
}
}
cout<<dpmn<<endl;
}
特に言うことなし。計算量は2つの文字列の長さの積になる。