模板题
Christine_xb
lnsyoier
展开
-
p1880石子合并——区间dp
环状2*n 区间dp 输出最大值和最小值,f[i][i+n-1] #include<cstdio> #include<algorithm> #include<iostream> using namespace std; int n,w[205],f1[205][205],f2[205][205],sum[205]; int main() { scanf(...原创 2020-02-26 08:39:24 · 113 阅读 · 0 评论 -
lnsyoj111 求和
树状数组模板题 #include<cstdio> #include<algorithm> #include<iostream> using namespace std; const int maxn=100007; int a[maxn],e[maxn],n,m; void fix(int x,int y) { int i; for(i=x;i<=n;...原创 2020-02-18 12:44:43 · 225 阅读 · 0 评论 -
最长公共上升子序列——动态规划
最长公共上升子序列(LCIS)的O(n^2)算法 预备知识:动态规划的基本思想,LCS,LIS。 问题:字符串a,字符串b,求a和b的LCIS(最长公共上升子序列)。 首先我们可以看到,这个问题具有相当多的重叠子问题。于是我们想到用DP做。DP的首要任务是什么?定义状态。 定义状态F[i][j]表示以a串的前i个字符b串的前j个字符且以b[j]为结尾构成的LCIS的长度 我们来考察一下这个这个状态...原创 2020-02-09 11:20:49 · 373 阅读 · 0 评论 -
最长上升子序列
动态规划算法 #include<iostream> #include<cstdio> #include<algorithm> using namespace std; int f[1007]; int a[1007]; int main() { int n; cin>>n; for(int i=1;i<=n;i++...原创 2020-02-09 10:15:21 · 58 阅读 · 0 评论 -
最长公共子序列——动态规划
动态规划思想,O(n2)算法。 这个是求最长公共上升子序列的基础。 #include<iostream> #include<cstdio> #include<algorithm> #include<cstring> using namespace std; int f[1007][1007]; int a[1007],b[1007]; int mai...原创 2020-02-09 09:28:55 · 84 阅读 · 0 评论