记忆化搜索
文章平均质量分 75
iHge2k
专注数据结构和算法
展开
-
loj 1018(状压dp+记忆化搜索)
题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=25844思路:首先预处理出点在同一直线上的所有的点集状态(dp[i][j]),然后记忆化搜索。 1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6原创 2014-05-26 18:08:26 · 489 阅读 · 0 评论 -
hdu 4722(记忆化搜索)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4722思路:简单的记忆化搜索,留意一下A==0时的情况就可以了。 1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 typedef long long ll; 7 8 i原创 2014-05-26 18:06:34 · 333 阅读 · 0 评论 -
poj 2662(Dijkstra+记忆化)
题目链接:http://poj.org/problem?id=2662思路:首先路径的选择,如果B点到终点的距离比A点到终点的最短距离短,那么就从A走到B,换句话说,就是每次都是择优选择更靠近终点的点。于是我们可以从终点2跑一次Dijkstra,求出每个点到终点的最短距离,然后就是从起点1开始记忆化搜索,如果满足上面条件的,就dfs. 1 #include 2 #include原创 2014-05-26 18:05:40 · 578 阅读 · 0 评论 -
hdu 1208+hdu 1619(记忆化搜索)
贴几道记忆化搜索题:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1208思路:记忆话搜索,不过有一个trick就是如果map[i][j]==0并且不是终点,就直接返回0了。如果map[ i ][ j ]表示跳几格 dp[ i ][ j ] 表示有几种条法 , 其实就是一个子状态继承问题,如果map[ i ][ j ]为k, 那么 dp原创 2014-05-26 17:58:39 · 368 阅读 · 0 评论 -
hdu4734(记忆化搜索)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4734思路:记忆化搜索。 1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 int Pow[11]; 7 int dp[11][5050]; 8 int digit[11]原创 2014-05-26 18:07:00 · 341 阅读 · 0 评论 -
poj 1088(记忆化搜索)
题目链接:http://poj.org/problem?id=1088思路:简单记忆化搜索,dfs深搜的条件为map[xx][yy] 1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 7 int dp[111][111]; 8 int map[111][111];原创 2014-05-26 18:05:48 · 299 阅读 · 0 评论 -
hdu 4597(记忆化搜索)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4597思路:要保证当前状态下,得到的是最优的,dfs+dp. 1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 7 int Left[44],Right[44]; 8 i原创 2014-05-26 18:05:06 · 318 阅读 · 0 评论 -
hdu 1514(记忆化+位压缩+dp)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1514思路:orz...大牛讲的太妙了:题意是给4堆(堆的高度小于等于40)有颜色(颜色的种类小于等于20)的物品,你有一个篮子最多能装5件物品,每次从这4堆物品里面任取一件物品放进篮子里,但是取每堆物品时,必须先取上面的物品,才能取下面的物品,如果发现篮子里的两种物品的颜色一样,那么把这两种物原创 2014-05-26 17:58:41 · 433 阅读 · 0 评论 -
hdu 4826(dp + 记忆化搜索)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4826思路:dp原创 2014-05-27 22:17:58 · 496 阅读 · 0 评论 -
loj 1044(dp+记忆化搜索)
题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=26764思路:dp[pos]表示0-pos这段字符串最少分割的回文子串,然后记忆化搜索(判断是否是回文子串的时候也用一个数组来记录是否是回文子串,记忆化搜索)。 1 #include 2 #include 3 #include 4 #inc原创 2014-05-26 18:08:55 · 572 阅读 · 0 评论 -
hdu 1579(记忆化搜索)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1579所谓记忆化,简单理解就是dfs+dp,水题不多说了。。。View Code 1 #include 2 #include 3 #include 4 using namespace std; 5 #define MAXN 55 6 int dp[MAXN][MAX原创 2014-05-26 17:58:10 · 342 阅读 · 0 评论 -
loj 1011(状态压缩+记忆化搜索)
题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=25837思路:状态压缩+记忆化搜索。 1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 #define FILL(a,b) memset(a,b原创 2014-05-26 18:08:17 · 489 阅读 · 0 评论 -
loj 1013(LCS+记忆化搜索)
题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=25839思路:第一小问可以很快求出了,两个字符串的长度-LCS,然后第二问就要记忆化搜索了,dp[i][j][l]表示A串的前i个和B串的前j个组合,长度为l的组合数。 1 #include 2 #include 3 #include 4原创 2014-05-26 18:08:20 · 470 阅读 · 0 评论 -
hdu 1142 记忆化搜索
题目是这样的,貌似一开始我这个英语搓的人还理解错了。。。orzhttp://acm.hdu.edu.cn/showproblem.php?pid=1142就是最短路,只不过用dijkstra是从终点到源点,然后再dfs从源点开始搜。。。好吧,这个记忆化搜索还是挺好用的。。。View Code 1 #include 2 #include 3 const int N=原创 2014-05-26 17:51:05 · 371 阅读 · 0 评论 -
loj 1025(记忆化搜索)
题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=25902 1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 typedef long long ll; 7 #define FILL(a,b)原创 2014-05-26 18:08:30 · 321 阅读 · 0 评论 -
loj 1031(区间dp+记忆化搜索)
题目链接:http://lightoj.com/volume_showproblem.php?problem=1031思路:dp[i][j]表示从区间i-j中能取得的最大值,然后就是枚举分割点了。 1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 #define inf 1<原创 2014-05-26 18:08:38 · 343 阅读 · 0 评论 -
loj 1021(状压dp+记忆化搜索)
题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=25887题目大意:给定的一个某进制下的排列,问它的全排列有多少个能够整除给定的十进制下的数字k。思路:记忆化搜索,dp[state][r]表示在某状态下被k除余数为r有多少个。 1 #include 2 #include 3 #includ原创 2014-05-26 18:08:28 · 398 阅读 · 0 评论 -
uva 707(记忆化搜索)
题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=21261思路:此题需要记忆化搜索,dp[x][y][t]表示当前状态下是否是否有可能点(x,y)上有贼,0表示不可能,1表示可能,然后及时记忆化搜索。 1 #include 2 #include 3 #include 4 #include原创 2014-05-26 18:07:04 · 361 阅读 · 0 评论 -
poj 3249(bfs+dp或者记忆化搜索)
题目链接:http://poj.org/problem?id=3249思路:dp[i]表示到点i的最大收益,初始化为-inf,然后从入度为0点开始bfs就可以了,一开始一直TLE,然后优化了好久才4000ms险过。之后有写了个dfs记忆化搜索,果然快多了。bfs AC code: 1 #include 2 #include 3 #include 4 #inclu原创 2014-05-26 18:04:55 · 332 阅读 · 0 评论 -
Codeforces Round #174 (Div. 1) B. Cow Program(dp + 记忆化)
题目链接:http://codeforces.com/contest/283/problem/B思路: dp[now][0]原创 2014-05-29 17:01:49 · 756 阅读 · 0 评论