摘要:
int n, m; int x0; int h[100005]; int ga[100005], gb[100005]; int f[20][100005][2]; int da[20][100005][2], db[20][100005][2]; void init_g() { set<pair< 阅读全文
摘要:
这题由于前一个小时会对后一个小时造成影响,所以必须考虑0时是否连续问题。可以在dp时分别令0时为连续与不连续,目标状态就取第n时休息的状态和不休息的状态。 这题必须开滚动数组,否则空间会爆。 using namespace std; // #define int long long #define 阅读全文
摘要:
一段dfs序列可看作一颗子树,那么区间DP中的字树合并可以看作两颗字树的合并。两颗子树合并:以其中左边子树的根为根,右边子树作为左边子树的最右边一颗子树。 int f[302][302] = {0}; void solve() { cin >> str; int n = str.size(); st 阅读全文