poj - 2411 - Mondriaan's Dream(轮廓线dp)
来源:互联网 发布:加勒比海盗知乎 编辑:程序博客网 时间:2024/05/16 18:05
题意:用1 x 2的矩形铺w * h的矩形,有多少种铺法。(1 <= h, w <= 11)
题目链接: http://poj.org/problem?id=2411
——>>轮廊线dp。
#include <cstdio>#include <algorithm>#include <cstring>using namespace std;const int maxn = 12;int h, w, cur;long long d[2][1<<maxn];void update(int a, int b){ if(b&(1<<w)) d[cur][b^(1<<w)] += d[1-cur][a];}int main(){ while(scanf("%d%d", &w, &h) == 2) { if(!w && !h) return 0; if(w > h) swap(w, h); memset(d, 0, sizeof(d)); cur = 0; d[0][(1<<w)-1] = 1; for(int i = 0; i < h; i++) for(int j = 0; j < w; j++) { cur ^= 1; memset(d[cur], 0, sizeof(d[cur])); for(int k = 0; k < (1<<w); k++) { update(k, k<<1); if(i && !(k&(1<<(w-1)))) update(k, (k<<1)^(1<<w)^1); if(j && !(k&1)) update(k, (k<<1)^3); } } printf("%I64d\n", d[cur][(1<<w)-1]); } return 0;}
- poj - 2411 - Mondriaan's Dream(轮廓线dp)
- POJ 2411 Mondriaan's Dream(插头DP,轮廓线)
- POJ-2411 Mondriaan's Dream(轮廓线dp)
- poj 2411 Mondriaan's Dream 轮廓线dp
- POJ 2411 Mondriaan's Dream 轮廓线DP
- [POJ] 2411 Mondriaan's Dream [轮廓线dp]
- POJ-2411-Mondriaan's Dream-轮廓线dp(插头dp)
- T解 POJ-2411 Mondriaan's Dream [轮廓线DP] || [状压DP]
- POJ_P2411 Mondriaan's Dream(轮廓线DP)
- 【poj 2411】Mondriaan's Dream 状压dp(轮廓线性dp)
- poj_2411 Mondriaan's Dream(轮廓线dp)
- POJ 2411 Mondriaan's Dream 轮廓线动态规划,插头dp,滚动数组
- poj 2411 Mondriaan's Dream dp
- POJ 2411 Mondriaan's Dream (状压DP)
- Mondriaan's Dream - POJ 2411 状压dp
- POJ 2411 Mondriaan's Dream (状压DP)
- poj 2411 Mondriaan's Dream 【dp】
- poj 2411 Mondriaan's Dream 状压dp
- 羽毛球
- 重新签名已有的ipa包
- Installshield 实现文件关联的脚本
- Android开发者必知的开发资源
- (哈希)POJ2785
- poj - 2411 - Mondriaan's Dream(轮廓线dp)
- VC中检测USB状态的变化
- JVM垃圾收集器与内存分配策略
- Yii框架下使用memcached来存取数据时,key的生成方式
- PCB中TOP PASTE和TOP SOLDER的区别
- USB HID类命令
- sqlserver 作业每30分自动生成一次
- 信号量、互斥体和自旋锁区别
- GetPrivateProfileInt和GetPrivateProfileString