2015年4月20日

poj 2127 Greatest Common Increasing Subsequence (记录路径LICS)

摘要: 题意:求最长递增公共子序列这道题需要将该序列输出,这就牵涉到了路径记录的问题.#include #include #include using namespace std;int a[505],b[505],dp[505],n,m,cnt;int mark[505][505],ans[505];in... 阅读全文

posted @ 2015-04-20 16:55 王老大- 阅读(140) 评论(0) 推荐(0) 编辑

POJ 2533 Longest Ordered Subsequence (模版LIS)

摘要: 题意:输出最长递增子序列的长度思路:直接裸LIS,#includeconst int N = 1001;int a[N], f[N], d[N]; // d[i]用于记录a[0...i]的最大长度int bsearch(const int *f, int size, const int &a) { ... 阅读全文

posted @ 2015-04-20 15:29 王老大- 阅读(135) 评论(0) 推荐(0) 编辑

2015年4月19日

HDU 1503 Advanced Fruits (LCS升级版)

摘要: 题目大意:将两个字符串结合起来,他们的公共子串只输出一次根据LCS的原理,将每个字符都进行标记,看两个字符串中对应的字符究竟处于什么状态,然后输出,其标记为公共子串的字符只输出一次即可,也是一道模板题了。http://blog.csdn.net/libin56842/article/details/... 阅读全文

posted @ 2015-04-19 11:16 王老大- 阅读(126) 评论(0) 推荐(0) 编辑

2015年4月17日

HDU1159 && POJ1458 Common Subsequence (LCS模版题)

摘要: 题目大意:求出两个串的公共子序列的长度LCS的入门题,读懂题了直接模板就可以#include #include using namespace std;const int N=1000;int a[N][N];int LCS(const char *s1, const char *s2){// s1... 阅读全文

posted @ 2015-04-17 20:43 王老大- 阅读(127) 评论(0) 推荐(0) 编辑

POJ 2533 Longest Ordered Subsequence (DP最长上升子序列)

摘要: 题目的大意是:给出一序列,求出该序列的最长上升子序列的最大长度。思路:a: 1 7 3 5 9 4 8dp: 1 2 2 3 4 3 4#include #include using namespace std;const int MAXN = 1005;int main(){ int n; ... 阅读全文

posted @ 2015-04-17 20:05 王老大- 阅读(115) 评论(0) 推荐(0) 编辑

POJ 1163 The Triangle (简单 DP 数字的最大路线和)

摘要: 题目大意:从三角形顶部数字走,每次只能走到这个数字的左下角或者右下角的数字,直到底部,计算走过的线路的数字之和,求这个和的最大值。#include #include #include using namespace std;const int MAXN = 105;int dp[MAXN][MAXN... 阅读全文

posted @ 2015-04-17 18:43 王老大- 阅读(134) 评论(0) 推荐(0) 编辑

2015年4月16日

POJ 2559 Largest Rectangle in a Histogram (DP最大矩形面积)

摘要: 给定从左到右多个矩形,已知这此矩形的宽度都为1,长度不完全相等。这些矩形相连排成一排,求在这些矩形包括的范围内能得到的面积最大的矩形,打印出该面积。所求矩形可以横跨多个矩形,但不能超出原有矩形所确定的范围。l[i]表示大于等于h[i]的最左边的位置,r[i]表示大于等于h[i]的最右... 阅读全文

posted @ 2015-04-16 19:55 王老大- 阅读(162) 评论(0) 推荐(0) 编辑

2015年4月15日

POJ 2479 Maximum sum ( DP )

摘要: 题目大意: 对整数串S,求其两个不相交的子串s1、s2,使得s1+s2的值最大。方法:DP, lt[i]代表以第i个元素结尾的串最大值 rt[i]代表以第i个元素开头的串的最大值 那么设置一个rtm[i]代表取后i个元素之中最大连续子串的和很显然,lt[i]=max(a[i],l... 阅读全文

posted @ 2015-04-15 20:41 王老大- 阅读(114) 评论(0) 推荐(0) 编辑

POJ 3670 Eating Together (①O(n)的dp,②最长字段和)

摘要: 题目大意:找到队列中不符合非升(降)序趋势的编号个数,分别判断升序跟降序的个数,最后取最小。两种方法:#include #include #include #include using namespace std;#define maxn 30005int n;int cow[max... 阅读全文

posted @ 2015-04-15 18:38 王老大- 阅读(178) 评论(0) 推荐(0) 编辑

2015年4月14日

POJ 3671 Dining Cows (DP)

摘要: 题目大意:给你一串只有1,2的数字,让你改变最少的次数,让这个序列变成非递减的。思路:动态规划,判断分界点,开一个dp[30010][2]的数组,其中dp[i][j]表示把第i个数改成j最少要花多少次那么状态转移方程就列出来了:令a=1 j!=a[i]0 j==a[i]那么dp[i][1]=dp[i... 阅读全文

posted @ 2015-04-14 20:18 王老大- 阅读(160) 评论(0) 推荐(0) 编辑

导航