题目链接:hdu 4804 Campus Design
题目大意:有1?2的木块无穷个,要求在给定的图n?m的图上,用1?2和1?1的木块铺满,图上的0表示不需要铺的位置,1表示必须要铺的位置。并且1?1的使用数量必须在c到d之间。求总方案数。
解题思路:和uva11270一样的做法,只是需要多添加一位状态来表示用掉1得个数,以及要对当前位置判断是否为可放。
#include
#i...
分类:
其他好文 时间:
2014-05-22 09:15:28
阅读次数:
201
题目链接:poj 2411 Mondriaan's Dream
题目大意:用1?2的木块填满n?m的矩阵有多少种方法。
解题思路:插头dp裸题。uva11270
#include
#include
typedef long long ll;
const int N = 13;
int n, m;
ll set, dp[N+5][(15];
void solve (int d,...
分类:
其他好文 时间:
2014-05-22 08:06:07
阅读次数:
177
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4804
题意:给定一个图,0是不能放的,然后现在有1X1和1X2方块,最后铺满该图,使得1X1使用次数在C到D之间,1X2次数随便,问有几种放法
思路:插头DP的变形,只要多考虑1X1的情况即可,然后DP多开一维表示使用1X1的个数
代码:
#include
#include
#includ...
分类:
其他好文 时间:
2014-05-18 18:21:46
阅读次数:
208
题目链接:11270 - Tiling Dominoes
和POJ 2411一样的题目,试着用插头DP写了下
代码:
#include
#include
#include
using namespace std;
int n, m, pre = 0, now = 1;
long long dp[2][2222];
int main() {
while (~scanf("%d%d",...
分类:
其他好文 时间:
2014-05-18 14:44:37
阅读次数:
264
插头DP,多条回路求回路数。
可以当作模版来记。注重理解轮廓线。
#include
#include
#include
#include
using namespace std;
const int HASH=10007;
const int STATE=5000; //状态数
const int MAXD=15;
int code[MAXD],maze[MAXD][MAXD];...
分类:
其他好文 时间:
2014-05-15 11:23:33
阅读次数:
344
插头DP。
题目要求构造出K条回路的方案数,而且不能出现环套环。
Sol:通过增加标记为来记录形成的回路数,假如不形成环的话就是在形成新的环路,此时,两边的插头个数要为偶数。
#include
#include
#include
#include
using namespace std;
const int MAXD=15;
const int STATE=1000010;
const i...
分类:
其他好文 时间:
2014-05-15 03:53:23
阅读次数:
272
插头DP。
从左上角到右下角,每个格子都有Val,每个格子只能经过一次,可以不经过,求最大的分数之和。
#include
#include
#include
#include
using namespace std;
const int MAXD=15;
const int HASH=10007;
const int STATE=1000010;
int N,M;
int maz...
分类:
其他好文 时间:
2014-05-15 03:43:02
阅读次数:
175
首先是CDQ《基于连通性状态压缩的动态规划问题》论文上的题目:URAL 1519
Formula 1 #include 2 #include 3 #include 4 using namespace std; 5 const int maxn
= 15; 6 const int H...
分类:
其他好文 时间:
2014-05-12 08:14:39
阅读次数:
433