记忆化搜索
人菜瘾大aaabbbb
这个作者很懒,什么都没留下…
展开
-
浅析记忆化搜索与dp的基本思想
看了一些博客,总结出了记忆搜索和dp之间的一些关系对于01背包这种类型的对于每个物品有选或者不选择两种状态的问题,我们先从暴搜入手思考这个问题例如洛谷p1048int n,t;int tcost[103],mget[103];int ans = 0;void dfs( int pos , int tleft , int tans ){ if( tleft < 0 ...原创 2019-01-24 13:34:29 · 888 阅读 · 2 评论 -
light OJ-1011记忆化搜索+状态压缩||状压DP
#include<iostream>#include<cstring>using namespace std;int dp[1000010],a[500][500];int n;int dfs(int x,int nn){// cout<<x<<n<<endl; if(nn==0)return 0; if...原创 2019-01-22 20:13:41 · 133 阅读 · 0 评论 -
kuangbin基础dp POJ - 3186 // (区间dp//记忆化搜索)
题意:给一个数组v,每次可以取前面的或者后面的,第k次取的v[i]价值为v[i]*k,问总价值最大是多少。 思路:dp[i][j]代表从i-j的区间,先取i或者先取j得到的最大值记忆化搜索代码:#include<iostream>#include<cmath>using namespace std;int dp[2010][2010],v[201...原创 2019-02-27 15:42:13 · 201 阅读 · 0 评论 -
UVa348 最优矩阵链乘 (记忆化搜搜&&dp&&输出路径)
最优矩阵链乘:一个n*m的矩阵由n行m列共n*m排列而成。两个矩阵A和B可以相乘当且仅当A的列数等于B的行数。一个n*m的矩阵乘m*p的矩阵,运算量为n*m*p。矩阵乘法不满足分配律,但满足结合律。因此A*B*C既可以按顺序(A*B)C也可以按A(B*C)来进行。假设A、B、C分别是2*3、3*4、4*5的,则(A*B)C运算量是2*3*4+2*4*5=64,A(B*C)的运算量是3*4...原创 2019-03-07 20:01:52 · 167 阅读 · 0 评论