#include <cstdio> #include <iostream> #include <algorithm> #include "cstdio" using namespace std; /// 集合 : a的前i 个字母,b的前j个字母 中所有公共子序列 /// 属性: 长度最大值 max /// 状态 转移: 00 01 10 11 , 代表 a的第i 个字母,b的第j个字母包含不包含在公共子序列中 /// 00: f[i-1][j-1] 01 10 不好表示 ,可以用 包含这两个的集合来算 ,因为 f[i][j] 包含 f[i-1][j] 包含...