最长公共子序列(LCS)
二维,感觉比赛基本不会出现这种简单dp
附上主要代码:
1 for(int i=1;i<=n;i++) 2 for (int j = 1; j <= m; j++) { 3 f[i][j] = max(f[i - 1][j], f[i][j - 1]); 4 if (a[i] == b[j]) 5 f[i][j] = max(f[i][j], f[i - 1][j - 1] + 1); 6 }
我dp什么时候才能开窍啊啊啊啊啊啊啊啊啊啊啊啊。。。
二维,感觉比赛基本不会出现这种简单dp
附上主要代码:
1 for(int i=1;i<=n;i++) 2 for (int j = 1; j <= m; j++) { 3 f[i][j] = max(f[i - 1][j], f[i][j - 1]); 4 if (a[i] == b[j]) 5 f[i][j] = max(f[i][j], f[i - 1][j - 1] + 1); 6 }
我dp什么时候才能开窍啊啊啊啊啊啊啊啊啊啊啊啊。。。