![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ACM—动态规划
文章平均质量分 69
xiaohuan1991
这个作者很懒,什么都没留下…
展开
-
记忆化递归搜索(poj 1579)
poj 1579 Function Run Fun 倒不是很难,但我从中学到了一个重要的编程技巧——记忆化递归搜索代码如下:int dfs(int a,int b,int c) /*记忆化递归搜索 更高效的搜索 */ */{if(a return w[a][b][c] = 1; /*用w[][][] 保存 状态 ,可极大的减少搜索量*/if(w[a][b][c] >= 0)return w[a][b][c];if(a r原创 2011-05-08 18:40:00 · 473 阅读 · 0 评论 -
自己的第一道dp题(hdu 2059龟兔赛跑)
这是自己第一次独立做dp题,弄了一下午,颇有感触。。1.一定要想清楚dp[i]的含义,它代表我们要去的最优结果。2.转移方程要精准,注意把起点也想象成一站,则1--n+1站必然由有一充电站过来的,所以不用考虑每站充电不充电!!#include #define MAXN 105#define INF 0xfffffffdouble dp[MAXN];int main(){int L;int N,C,T;/*充电站的个数,电动车冲满电行驶的距离,充电所需要的时间*/double vr,vt1,vt2;/*兔子跑原创 2011-05-26 17:56:00 · 519 阅读 · 0 评论 -
poj 3267 The Cow Lexicon
题意:根据字典,将所给字符串翻译成话,删掉无用字符m个,求最小m /*对第i个字母,有两种情况,选或不选,由此得出dp方程(联想到背包问题) dp[i] = MIN(dp[i+1]+1,d + dp[k]) 附代码: #include #include #in原创 2011-08-02 14:43:26 · 405 阅读 · 0 评论 -
hdu(3920)状态压缩+dp
这题是个好题啊简单的状态压缩,思路如下: /*状态转移方程: dp[mask|i|j] = MIN(dp[mask|i|j],dp[mask]+dis[i][j]) 列出所有可能,更新可能成为最优解的所有状态,最优解建立在这些这些最优子状态中 要清楚最终要求的状态是什么原创 2011-08-10 23:56:05 · 519 阅读 · 0 评论