上一页 1 ··· 3 4 5 6 7 8 9 10 11 12 下一页
摘要: 题目链接:http://poj.org/problem?id=1011Dfs中状态的转移是重点1.分析问题问题:将n个部分拼接成sum/h个长度为h的木棍。部分分别为stk[i]2.分析解状态r=sum/h因为h是固定的,不作为状态初始状态:取了0个部分。剩n个部分,正在拼的木棍有h还未拼完,剩r个木棍要拼取一个部分,还剩n-1个部分,正在拼的木棍还剩h-stk[i]还未拼完,还剩r个木棍要拼设正在拼的木棍还剩hr 取k个部分,拼完一根木棍,还剩n-k个部分,正在拼的木棍还有0还未拼完,还hr-1个木棍要拼设剩下rs木棍要拼,还剩nr个部分解状态:拼完了r根木棍,还剩0个部分,正在拼的木棍有0 阅读全文
posted @ 2014-02-17 13:13 neverchanje 阅读(204) 评论(0) 推荐(0)
摘要: 题目链接:http://poj.org/problem?id=1251//双向图//点的数量小,采用邻接矩阵 //最小生成树prim #include#include#include#define INF 100000using namespace std;const int maxn=30;int... 阅读全文
posted @ 2014-02-17 13:11 neverchanje 阅读(177) 评论(0) 推荐(0)
摘要: 题目链接:http://poj.org/problem?id=2502#include #include #include #include #include #include using namespace std;const int MAXN=300;const double INF=99999... 阅读全文
posted @ 2014-02-13 23:18 neverchanje 阅读(143) 评论(0) 推荐(0)
摘要: 题目链接:http://poj.org/problem?id=3624//典型01背包问题//状态转移方程dp[i][j]=max(dp[i-1][j],dp[i-1][j-w[i]]+d[i]) //实现:逆序 #include#include#include#includeusing namespace std;const int maxn=20000;const int maxc=20000;int n,m; //n为珠宝数量,m为背包容量int w[maxn],d[maxn]; //分别为每个珠宝的重量和诱人度 int dp[maxc];int bp(){ memset(dp,... 阅读全文
posted @ 2014-02-13 22:48 neverchanje 阅读(167) 评论(0) 推荐(0)
摘要: poj 1887 Testing the CATCHER题目链接:http://poj.org/problem?id=1887dp[i]表示以v[i]结尾的数列dp[i]=max(dp[k]+1) (v[k]>v[i])本题要注意输出//其实最长递减序列可以转换成最长上升序列//因为其下标是递增的 #include#include#define INF 10000using namespace std;const int maxn=INF;int n;int v[maxn];int MDS(){ int Max; int dp[maxn]; Max=0... 阅读全文
posted @ 2014-02-13 16:41 neverchanje 阅读(439) 评论(0) 推荐(0)
上一页 1 ··· 3 4 5 6 7 8 9 10 11 12 下一页