线性DP
_Ark
这个作者很懒,什么都没留下…
展开
-
最长公共上升子序列 O(n^2)
#include <bits/stdc++.h> using namespace std; const int MAXN = 5005; int A[MAXN], B[MAXN], N, M, dp[MAXN]; int main() { scanf("%d", &N); for(int i = 1; i <= N; i++) scanf("%d", &...原创 2018-11-04 20:09:53 · 177 阅读 · 0 评论 -
BZOJ 4032: [HEOI2015]最短不公共子串 (dp*3 + SAM)
转博客大法好 第4个子任务中,为什么只转移最近的一个位置,自己YY吧(多YY有益身体健康). #include <bits/stdc++.h> using namespace std; typedef long long LL; template<class T>inline void read(T &num) { register char ch; reg...原创 2019-04-01 12:33:19 · 189 阅读 · 0 评论 -
BZOJ 2213: [Poi2011]Difference (DP)
题意 求一段区间内最大字母出现次数-最小字母出现次数的最大值。 题解 考虑f[i][j]f[i][j]f[i][j]代表当前字符iii减去字符jjj的个数… 那么答案为maxf[r][i][j]−f[l−1][i][j]\max f[r][i][j]−f[l−1][i][j]maxf[r][i][j]−f[l−1][i][j] 当右端点从xxx变为x+1x+1x+1的时候最多改变525252个值...原创 2019-09-14 13:30:04 · 208 阅读 · 0 评论