题目链接:

http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=33787

题意:

用1*2或2*1的长条把n*m方格铺满的方案数。裸的轮廓线dp。

代码:

 #include<iostream>
#include<cstdio>
#include<cstring>
using namespace std; const int maxn = ;
typedef long long LL; LL dp[][ << ];
int n, m,cur; void update(int a, int b) {
if (b&( << m)) dp[cur][b ^ ( << m)] += dp[ - cur][a];
} int main() {
while (scanf("%d%d", &n, &m) == && n) {
if (m>n) swap(n, m);
memset(dp, , sizeof(dp));
dp[][( << m) - ] = ; cur = ;
for (int i = ; i < n; i++) {
for (int j = ; j < m; j++) {
cur = - cur;
memset(dp[cur], , sizeof(dp[cur]));
for (int k = ; k < ( << m); k++) {
update(k, k << );
if (i && !(k&( << m - ))) {
update(k, (k << ) ^ ^ ( << m));
}
if (j&&!(k & )) {
update(k, (k << ) ^ );
}
}
}
}
printf("%lld\n", dp[cur][( << m) - ]);
}
return ;
}

UVA 11270 轮廓线的更多相关文章

  1. UVA - 11270 轮廓线DP

    其实这题还能用状压DP解决,可是时间达到2000ms只能过掉POJ2411.状压DP解法详见状压DP解POJ2411 贴上POJ2411AC代码 : 2000ms 时间复杂度h*w*(2^w)*(2^ ...

  2. HDU1565 方格取数 &&uva 11270 轮廓线DP

    方格取数(1) Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Su ...

  3. uva 11270 - Tiling Dominoes(插头dp)

    题目链接:uva 11270 - Tiling Dominoes 题目大意:用1∗2木块将给出的n∗m大小的矩阵填满的方法总数. 解题思路:插头dp的裸题,dp[i][s]表示第i块位置.而且该位置相 ...

  4. UVa 11270 铺放骨牌(轮廓线DP)

    https://vjudge.net/problem/UVA-11270 题意: 用1×2骨牌覆盖n×m棋牌,有多少种方法? 思路: 这道题目是典型的轮廓线DP题. 所谓轮廓线DP,就是以整行整列为状 ...

  5. 【UVa】11270 Tiling Dominoes

    http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&p ...

  6. UVA 1232 - SKYLINE(线段树)

    UVA 1232 - SKYLINE option=com_onlinejudge&Itemid=8&page=show_problem&category=502&pr ...

  7. poj 2411 Mondriaan's Dream (轮廓线DP)

    题意:有一个n*m的棋盘,要求用1*2的骨牌来覆盖满它,有多少种方案?(n<12,m<12) 思路: 由于n和m都比较小,可以用轮廓线,就是维护最后边所需要的几个状态,然后进行DP.这里需 ...

  8. uva 1354 Mobile Computing ——yhx

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAABGcAAANuCAYAAAC7f2QuAAAgAElEQVR4nOy9XUhjWbo3vu72RRgkF5

  9. UVA 10564 Paths through the Hourglass[DP 打印]

    UVA - 10564 Paths through the Hourglass 题意: 要求从第一层走到最下面一层,只能往左下或右下走 问有多少条路径之和刚好等于S? 如果有的话,输出字典序最小的路径 ...

随机推荐

  1. ElasticSearch优化系列二:机器设置(内存)

    预留一半内存给Lucene使用 一个常见的问题是配置堆太大.你有一个64 GB的机器,觉得JVM内存越大越好,想给Elasticsearch所有64 GB的内存. 当然,内存对于Elasticsear ...

  2. php composer 实现类的自动加载

    我们在开发项目中会经常用到第三方的类库插件,但是如果每次需要使用的时候都会在代码的某一处去引入,然后在实例化,这样做感觉很不方便,那么怎么实现自动加载呢,下面简单介绍使用composer实现自动加载: ...

  3. 【大数据实战】Logstash采集->Kafka->ElasticSearch检索

    1. Logstash概述 Logstash的官网地址为:https://www.elastic.co/cn/products/logstash,以下是官方对Logstash的描述. Logstash ...

  4. 2.5 USB摄像头驱动程序框架

    学习目标:根据vivi驱动架构和linux-2.6.31/linux-2.6.31.14/drivers/media/video/uvc/Uvc_driver.c驱动源码,分析usb摄像头驱动程序框架 ...

  5. Asp.Net实现在线人数统计 (转)

    原文件:http://blog.csdn.net/wxd_860825/article/details/4589292 利用Application对象和Session对象可以统计当前在线用户数量. 注 ...

  6. 版本控制工具(上)——Git的基本使用

    一.Git简介 git是什么? Git是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理.[2]  Git 是 Linus Torvalds 为了帮助管理 Linux 内 ...

  7. cgywin下 hadoop运行 问题

    1 cgywin下安装hadoop需要配置JAVA_home变量 ,  此时使用 window下安装的jdk就可以  ,但是安装路径不要带有空格.否则会不识别. 2  在Window下启动Hadoop ...

  8. 20155315 2016-2017-2 《Java程序设计》第一周学习总结

    教材学习内容总结 第一章中提到了Java的前世今生和三大平台,我了解到Java SE包括JVM,JRE,JDK和Java语言.java最基本的特性之一是"跨平台",这使得Java语 ...

  9. MyOD课堂实践(5月31日)20155318

    MyOD课堂实践(5月31日)20155318 编写MyOD.java 用java MyOD XXX实现Linux下od -tx -tc XXX的功能 (码云链接) 代码 import java.io ...

  10. Firefox+Burpsuite抓包配置(可抓取https)

    0x00 以前一直用的是火狐的autoproxy代理插件配合burpsuite抓包 但是最近经常碰到开了代理却抓不到包的情况 就换了Chrome的SwitchyOmega插件抓包 但是火狐不能抓包的问 ...