题解参考:http://www.cnblogs.com/peaceful-andy/archive/2012/08/14/2638907.html很久很久以前……我一直以为记忆化搜索就是dp,dp就是记忆化搜索……多么悲哀的认识……动态规划是“填表格”的顺序依次递推,记忆化搜索说白了就是搜索的一种,...
分类:
其他好文 时间:
2015-04-20 22:28:22
阅读次数:
425
题目链接原题地址
经典问题,该问题具有最有子结构性质和无后效性,可以用动态规划,也可以用记忆化搜索,代码如下:
#include
using namespace std;
#include
#include
#include
#include
#include
int d[][2] = {0,1,1,0,0,-1,-1,0};
int f[110][110];
int map[...
分类:
其他好文 时间:
2015-04-20 17:00:26
阅读次数:
85
// 这题开始在算法竞赛入门经典的书上状态表示
// dp[i][j]表示前i个方块以第j条边为高所能得到的最大高度值
// dp[i][j] = max(dp[0...i-1][0,1,2]+block[i][j]);
// 就是一个DAG模型
// 这样记忆化搜索就行啦,还是有些技巧的
//
// 第二种做法就是递推
// 首先把一个方块变为6个,即表示长,宽,高
// 当然,首先得要把底面积...
分类:
其他好文 时间:
2015-04-17 22:24:08
阅读次数:
139
区间DP/记忆化搜索 sigh……看了提示才想到是区间DP >_>我果然还是太弱 f[l][r][k]表示L到R这段区间能否合并成K,那么就是枚举拆分方案(从哪里断开)和组合方式(左半合成的子母+右半合成的子母 可以合成 K)了…… 记忆化搜索即可= = 1 /****************...
分类:
其他好文 时间:
2015-04-17 13:16:51
阅读次数:
121
题意:给出n*n的格子,每个各自里面有些食物,问一只老鼠每次走最多k步所能吃到的最多的食物虽然是做过的老题了,但是1A的感觉好爽,对搜索认识更深了 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include...
分类:
其他好文 时间:
2015-04-17 01:07:23
阅读次数:
125
DP/记忆化搜索 暴力枚举分割方案?……大概是指数级的?大约是20!的方案= =? 但是我们看到a、b、n的范围都很小……所以不同的状态数只是$10^5$级别的,可以记忆化搜索求解 比较水的一道题…… 1 /*******************************************...
分类:
其他好文 时间:
2015-04-16 12:19:22
阅读次数:
116
这题是记忆化搜索很容易想到,但状态却不好设dp[i][j][u][d][l][r][k]。对于矩形为i*j,它的四周的颜色分别为u,d,l,r,横竖切的状态为k的种数。其中要注意一个问题是,停止不一定是不可进行,而是随时都可以停止,这样就会有一种涂色为对某个矩形而言只涂一种颜色。那么,就必定会有重复...
分类:
其他好文 时间:
2015-04-14 23:15:06
阅读次数:
148
#include#includeusing namespace std;#define MOD 1000000007typedef long long ll;ll F[16][16][16][16][16][6];ll f(int a,int b,int c,int d,int e,int pre)...
分类:
其他好文 时间:
2015-04-14 23:00:14
阅读次数:
212
数位DP的题曾经写过,但是就是各种混乱不堪=w=这次写的记忆化搜索....AC BZOJ 1833 1 #include 2 #include 3 #include 4 5 #include 6 #include 7 #include 8 #include 9 ...
分类:
其他好文 时间:
2015-04-13 22:46:08
阅读次数:
214