摘要: 题目链接:http://poj.org/problem?id=1579思路分析:题目给出递归公式,使用动态规划的记忆搜索即可解决。代码如下:#include #include const int MAX_N = 20 + 5;int dp[MAX_N][MAX_N][MAX_N];int w( in... 阅读全文
posted @ 2014-10-10 01:30 Leptus 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://poj.org/problem?id=3176思路分析:基本的DP题目;将每个节点视为一个状态,记为B[i][j], 状态转移方程为 B[i][j] = A[i][j] + Max( B[i+1][j], B[i+1][j+1] );代码如下:#include const ... 阅读全文
posted @ 2014-10-09 22:20 Leptus 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://poj.org/problem?id=1936思路分析:字符串子序列查找问题,设置两个指针,一个指向子序列,另一个指向待查找的序列,查找个字符串一次即可判断。算法时间复杂度O(N)。代码如下:#include #include using namespace std;#def... 阅读全文
posted @ 2014-10-09 01:02 Leptus 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://poj.org/problem?id=1804思路分析:序列的逆序数即为交换次数,所以求出该序列的逆序数即可。根据分治法思想,序列分为两个大小相等的两部分,分别求子序列的逆序数;对于右子序列中的每一个数,求出左序列中大于它的数的数目,计算的和即为解。另外,使用Merge排序时... 阅读全文
posted @ 2014-10-09 00:34 Leptus 阅读(463) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://poj.org/problem?id=2299思路分析:序列的逆序数即为交换次数,所以求出该序列的逆序数即可。根据分治法思想,序列分为两个大小相等的两部分,分别求子序列的逆序数;对于右子序列中的每一个数,求出左序列中大于它的数的数目,计算的和即为解。另外,使用Merge排序时... 阅读全文
posted @ 2014-10-09 00:02 Leptus 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://poj.org/problem?id=1068思路分析:对栈的模拟,将栈中元素视为广义表,如(((()()()))),可以看做 LS =,对于可以配对的序列,如 看做一个元素,其 W 值为1;同理,为一个元素,其W值为1,看做一个元素, 其W值为 与 、的W的值的和加 1,... 阅读全文
posted @ 2014-10-07 01:24 Leptus 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://poj.org/problem?id=2499思路分析:结点向左边移动时结点(a, b)变为( a+b, b),向右边移动时( a, b )变为( a, a + b);为求最短路径,考虑从已经知道的结点(a, b)开始找出最短路径回到根节点(1, 1),即向左移动次数和向右移... 阅读全文
posted @ 2014-10-06 21:14 Leptus 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://poj.org/problem?id=2255思路分析:根据先序遍历(如DBACEGF)可以找出根结点(D),其后为左右子树;根据中序遍历(如ABCDEFG),已知根结点(D),可以知道在根结点左边的为左子树结点(ABC),右边为右子树结点(EFG);可以求出左子树与右子树结... 阅读全文
posted @ 2014-10-06 15:46 Leptus 阅读(332) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://poj.org/problem?id=2021思路分析:由于数据较小,采用O(N^2)的暴力算法,算出所有后代的年龄,再排序输出。代码分析:#include #include #include using namespace std;#define MAX_N ( 100 +... 阅读全文
posted @ 2014-10-06 13:24 Leptus 阅读(227) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://poj.org/problem?id=2092思路分析:先统计数据,在根据Count降序排序,Count相等时按照Num升序排序;再输出Count第二大的所有Num;代码如下:#include #include #include using namespace std;#de... 阅读全文
posted @ 2014-10-06 05:26 Leptus 阅读(348) 评论(0) 推荐(0) 编辑