摘要: 问题描述:假设某国的硬币的面值有 1、5、10、50 元四种,输入一个金额 N (正整数,N#includeusing namespace std;#define maxn 10000int S[4]={1,5,10,50};int ways[maxn+1];int main(){ mems... 阅读全文
posted @ 2013-07-27 20:21 beautifulzzzz 阅读(577) 评论(0) 推荐(0) 编辑
摘要: 问题描述:给n个数,找出最长子序列并输出问题分析:本题是DAG(有向无环图)最长路问题,设d[i]为以i结尾的最长链的长度,则状态转移方程为:d[i]=max{0,d[j]|j#includeusing namespace std;#define maxn 1000+5int d[maxn],n,m... 阅读全文
posted @ 2013-07-27 15:08 beautifulzzzz 阅读(600) 评论(0) 推荐(0) 编辑
摘要: 问题描述:有n个矩阵,每个矩阵可以用两个整数a,b来表示 ,表示他的长和宽,矩阵X (a,b) 可以 嵌套 到Y (c,d) 里面当且仅当 a #includeusing namespace std;#define maxn 1000+5class Rect{public: int lengt... 阅读全文
posted @ 2013-07-27 11:51 beautifulzzzz 阅读(466) 评论(0) 推荐(0) 编辑
摘要: 1、直接用递归函数计算状态转移方程,效率十分低下,可以考虑用递推方法,其实就是“正着推导,逆着计算”#include#includeusing namespace std;#define maxn 1000+5int n;int a[maxn][maxn];int d[maxn][maxn];int... 阅读全文
posted @ 2013-07-27 10:36 beautifulzzzz 阅读(829) 评论(0) 推荐(0) 编辑
摘要: 递归方法解决数塔问题状态转移方程:d[i][j]=a[i][j]+max{d[i+1][j],d[i+1][j+1]}注意:1\d[i][j]表示从i,j出发的最大总和;2\变界值设为0;3\递归变界为n;4\结果为d[1][1]#include#includeusing namespace std... 阅读全文
posted @ 2013-07-27 09:59 beautifulzzzz 阅读(1013) 评论(2) 推荐(0) 编辑