随笔分类 -  DP

DP_简单DP最长上升子序列[n*lg(n)](HDU_1025)
摘要:^_^#include #include #include using namespace std;#define M 500002int mu[M],d[M];int lis(int n) //n*lg(n){ d[1] = mu[1]; int len = 1; for(int i=2; i> 1; if(d[mid] len) len++; } return len;}int main(int argc, char* argv[]){#ifdef __MYLOCAL freopen("in.txt","r",stdin);#en... 阅读全文
posted @ 2013-08-13 13:35 lk1993 阅读(173) 评论(0) 推荐(0)
DP_简单DP最长公共子序列(HDU_1159)
摘要:最长公共子序列对于两个字符串 ic,id , 我们定义 dp[i][j] 数组来表示 ic 的第 i-1 个字符与 id 的第 j-1 个字符的公共序列长度。由于数组从 0 开始, 状态转移方程为 dp[i+1][j+1] = dp[i][j] + 1 ic[i] == id[j] dp[i+1][j+1] =max(dp[i+1][j],dp[i][j+1]) ic[i] != id[j]#include #include #define M 1002#define max(a,b) ((a) >= (b) ? (a) : (b))int... 阅读全文
posted @ 2013-08-09 20:42 lk1993 阅读(169) 评论(0) 推荐(0)
DP_简单DP数塔(HDU_2084)
摘要:简单入门DP第 i-1 层的 j 列加上第 i 层的 j 列 j+1 列的大值。#include #include #define M 102#define max(a,b) ((a)>(b) ? (a) : (b))int dp[M][M];int run(int n){ for(int i=n; i>=2; i--) { for(int j=1; j<i; j++) dp[i-1][j] += max(dp[i][j],dp[i][j+1]); } return dp[1][1];}int main(int argc, char*... 阅读全文
posted @ 2013-08-01 10:10 lk1993 阅读(230) 评论(0) 推荐(0)
DP_字串匹配(HDU_1501)
摘要:最优子结构分析:如果A、B可以组成C,C最后一个字母必定是A或B的最后一个字母组成。C去除除最后一位,变成是否可以求出A-1和B或A和B-1是否可以构成C-1状态转移方程:用f[i][j] 表示A前 i 位和B前 j 位是否可以组成C的前i+j位 dp[i][j] = (dp[i-1][j] && A[i]==C[i+j]) || (dp[i][j-1] && B[j]==C[i+j])#include #include #define M 202char A[M],B[M],C[M*2];int dp[M][M];int run(){ scanf(" 阅读全文
posted @ 2013-07-31 09:44 lk1993 阅读(175) 评论(0) 推荐(0)
DP_基本DP+排序(HDU_1421)
摘要:#include #include #include using namespace std;#define MAX 0x7fffffff#define M (2000 + 5)#define ___min(a,b) (a < b ? a : b)#define __pow(a) ((a) * (a))int id[M],dp[M][M / 2];void run(){ int n,k; while(scanf("%d%d",&n,&k) != EOF) { for(int i=1; i<=n; i++) { ... 阅读全文
posted @ 2013-07-17 20:59 lk1993 阅读(218) 评论(0) 推荐(0)
DP_最大子序列和(HDU_1003)
摘要:#include #include #define MAX 0x7ffff#define Mvoid run(int __case,int __t){ int n,start,end,add,in,max,lo; start=end=lo=1; add=0; max=-MAX; scanf("%d",&n); for(int i=1;i max) { max=add; start=lo; end=i; } if(add < 0) { add=... 阅读全文
posted @ 2013-05-21 10:38 lk1993 阅读(157) 评论(0) 推荐(0)