码迷,mamicode.com
首页 >  
搜索关键字:记忆化    ( 1420个结果
HDU 1429 (BFS+记忆化状压搜索)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1429题目大意:最短时间内出迷宫,可以走回头路,迷宫内有不同的门,对应不同的钥匙。解题思路:要是没有门和钥匙,而且不能走回头路,就是个简单粗暴的BFS。有了门之后,就要状态压缩+记忆化搜索。不然这个图会搜...
分类:其他好文   时间:2014-10-15 14:50:00    阅读次数:168
UVA 1557 - Calendar Game(博弈dp)
UVA 1557 - Calendar Game题目链接题意:给定一个日期,两个人轮流走,每次能够走一月或者一天,问最后谁能走到2001.11.4这个日子思路:记忆化搜索,对于每一个日期,假设下两个状态有一个非必胜态,那么这个状态是必胜态,假设后继状态都是必胜态,那么该状态为必败态代码:#inclu...
分类:其他好文   时间:2014-10-13 19:45:27    阅读次数:146
HDU2452 Navy maneuvers 记忆化搜索
这题目意思能忍?读了半年,乱七八糟的 记忆化搜索 拖拖的,dp[i][0]代表以获得最小值为目标的船以i为起点,dp[i][1]代表以获得最大值为目标的船以i为起点,接下来暴力枚举入度为0的点为起点,开始记忆化搜索, const int N = 100000 + 55; int dp[N][2]; int value[N]; int degree[N]; vector G[N]; ...
分类:其他好文   时间:2014-10-13 01:00:53    阅读次数:258
ZOJ 3822 Domination(概率dp)
概率dp,一开始用了二维超时,后来加了一位记忆化就不超时了啊。dp[x][y][z]代表已经覆盖了第x行y列此时还剩下k个空格。 所以:dp[x][y][z] = p1*dp[x+1][y][z-1]+p2*dp[x][y+1][z-1]+p3*dp[x+1][y+1][z-1]+p4*dp[x][y][z-1] + 1。 Domination Time Limit: 8 Secon...
分类:其他好文   时间:2014-10-12 21:20:08    阅读次数:244
UVa 12589 Learning Vector
题意:有n个向量(0 思路:先确定一点,对于选出的k个向量,按斜率从大到小的顺序摆放,面积最大。(不然会损失几个平行四边形的面积) 然后DP , DP[id][cur][height] 分别表示前id个向量,已经选出了cur个向量,高度为height的最大面积。面积计算公式为  x0*y0 + 2*x1*y0+x1*y1 + 2*x2*(y0+y1)........用记忆化搜索注意初始化的优化...
分类:其他好文   时间:2014-10-11 13:36:55    阅读次数:173
UVA 810 - A Dicey Problem(BFS)
UVA 810 - A Dicey Problem 题目链接 题意:一个骰子,给你顶面和前面,在一个起点,每次能移动到周围4格,为-1,或顶面和该位置数字一样,那么问题来了,骰子能不能走一圈回到原地,输出路径,要求最短,如果有多个最短,按照上下左右输出 思路:读懂题就是水题,就记忆化搜一下即可,记录状态为位置和骰子顶面,正面(因为有两面就能确定骰子了) 代码: #in...
分类:其他好文   时间:2014-10-10 21:21:24    阅读次数:323
POJ 1088 滑雪(简单的记忆化dp)
题目又一道可以称之为dp的题目,虽然看了别人的代码,但是我的代码写的还是很挫,,,,,,//看了题解做的简单的记忆化dp#include#include#includeusing namespace std;int mp[110][110],dp[110][110];int xx[]={1,-1,0...
分类:其他好文   时间:2014-10-09 02:59:17    阅读次数:265
BZOJ1093 [ZJOI2007]最大半连通子图
首先,我们要tarjan。。。 然后我们要缩点。。。注意,缩点的时候两个新建的点会有重边,需要判重正常的判重方法是bfs一边,但是我YY的比较奇葩,方法下面将。。。缩好点就变成了一个DAG,然后就类似树形DP的方法求最大权值链我是用记忆化搜索,当dfs某个点p时用数组vis记录一些东西:首先vis[...
分类:其他好文   时间:2014-10-06 23:54:12    阅读次数:333
POJ 1088 滑雪【记忆化搜索】
题目大意:让你找出二维数组上的最长不上升子序列思路:曾几何时在TYVJ上写过这题!!那时觉得无从下手,如今也能半小时不看discuss写出来了,看来两年来的确有所进步类似于一维的LIS,二维情况下f(I,j)=max(f(x,y)+1)|x,y为i,j的四个方向的拓展,直接搜显然超时,用个数组记录下...
分类:其他好文   时间:2014-10-05 15:47:48    阅读次数:169
hdu 4734 数位dp
/* 数位dp,记忆化搜索写法 注意memset(dp,-1,sizeof(dp))是放在外面的,这样保证每次搜索时存的值满足下一次也可以用; 如果放在里面就会超时 每个长度有10000种状态 */ #include #include #define N 20 int len,digit[N],dp[N][10000]; int dfs(int len,int cnt,int ok) { ...
分类:其他好文   时间:2014-10-03 20:21:05    阅读次数:157
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!