题目大意:在n*n的矩阵中,每个格子放置了一定数量的食物,一只老鼠每次水平或竖直最多移动k格,每次到的位置食物都要比前一次多,问最后一共能得到多少食物这道题利用记忆化搜索做,利用nowstate不断记录下一个位置所能到达的最大值,利用nowstate+mat[i][j](当前区域中所含的食物数量)得...
分类:
其他好文 时间:
2014-09-09 10:44:38
阅读次数:
173
题目链接题意:给定一个有向无环图(DAG),上面放有一些旗子,旗子可以重合,两个人轮流操作,每次可以把一个旗子从一个位置移动到相邻的位置,无法移动时输,询问先手是否必胜。这道题可以把每个旗子看作单独的一个游戏,那么所有这些旗子的状态SG值,就是这些旗子各自SG值的Xor和,可以记忆化搜索dfs,暴力...
分类:
其他好文 时间:
2014-09-08 00:56:26
阅读次数:
675
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1978
How many ways
Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 2945 Accepted Submiss...
分类:
其他好文 时间:
2014-09-07 17:18:55
阅读次数:
228
题目大意:两人轮流从两堆牌从抽取最顶端或者最底部的牌,得到的分数加到自己身上,问先拿牌的最多能得多少分记忆化搜索,2堆牌的底和顶,有四种方法,根据四种方法来找到最优解 1 #include 2 #include 3 #include 4 using namespace std; 5 int d...
分类:
其他好文 时间:
2014-09-06 19:55:23
阅读次数:
223
dfs+记忆化搜索,白书上给了一种很神的存答案的方式,要同时保存两个值,可以将一个值乘以一个大整数加上另外一个。具体状态转移见注释#include #include #include #include #include #include #include #include #include #inc...
分类:
其他好文 时间:
2014-09-06 12:09:33
阅读次数:
211
题目链接:uva 1076 - Password Suspects
题目大意:有一个长度为n的密码,存在m个子串,问说有多少种字符串满足,如果满足个数不大于42,按照字典序输出。
解题思路:根据子串构建AC自动机,然后记忆化搜索,dp[i][u][s]表示第i个字符,在u节点,匹配s个子串。
#include
#include
#include
#include
#inclu...
分类:
其他好文 时间:
2014-09-05 23:54:12
阅读次数:
362
记忆化搜索的方式计算f(x)
#include
#include
#include
#include
using namespace std;
#define mem(a) memset(a,0,sizeof(a))
const int maxn = 1000005;
int n;
int primes[maxn],prime_cnt;
int vis[maxn];
int v[maxn];
...
分类:
其他好文 时间:
2014-09-04 19:02:50
阅读次数:
208
题目链接题意 :每一颗子弹破坏了三个邻近的阳台。(第N个阳台是与第1个相邻)射击后后的生存的怪物都对主角造成伤害- 如此,直到所有的怪物被消灭,求怎样射击才能受到最少伤害。思路 : 状压,数据不是很大,可以爆一爆,或者DFS下去就行,枚举每一种状态。 1 //1152 2 #include 3 #....
分类:
其他好文 时间:
2014-08-31 21:21:51
阅读次数:
236
NYOJ (01串)我非要用递归,我非要用记忆化搜索 1 #include 2 #include 3 4 int N; 5 int a[100][2]; 6 7 int solve(int i, int tem) 8 { 9 if(i==N)10 {11 if(t...
分类:
其他好文 时间:
2014-08-31 21:21:31
阅读次数:
279