这个题叫问给一个2*N的方块,你可以在每一个上填任意黑或者白两种,假设颜色相同的并且有公共边的就被认为是一块,问组成K块有多少种方案。

这题开始感觉无从下手,像组合数学又不像的,其实这个题的关键在于,2*N 的方块,那么我每两个就只会有四种情况,我们可以通过求最后两位去递推得到更多位数的,因此问题有办法解决了 。

DP[i][j][[k] ,i代表我目前到了第i位置,有j个块,最后一位i是k的情况(我假设 00是0 ,01是1,10是2,11是3)。

PS:DP转移方程太长了,你自己看代码。。。。(其实应该是有更简单的方法的,我的DP写的太丑了)

#include<iostream>
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
long long dp[][][];
const int mod=;
int main(){
int n,k;
while(~scanf("%d%d",&n,&k)){
memset(dp,,sizeof(dp));
dp[][][]=;
dp[][][]=;
dp[][][]=;
dp[][][]=;
for (int i=;i<=n;i++){
for (int j=;j<=*n;j++){
dp[i+][j][]=(dp[i+][j][]+dp[i][j][]+dp[i][j][]+dp[i][j][])%mod;
dp[i+][j+][]=(dp[i+][j+][]+dp[i][j][])%mod; dp[i+][j][]=(dp[i+][j][]+dp[i][j][])%mod;
dp[i+][j+][]=(dp[i+][j+][]+dp[i][j][]+dp[i][j][])%mod;
dp[i+][j+][]=(dp[i+][j+][]+dp[i][j][])%mod; dp[i+][j][]=(dp[i+][j][]+dp[i][j][])%mod;
dp[i+][j+][]=(dp[i+][j+][]+dp[i][j][]+dp[i][j][])%mod;
dp[i+][j+][]=(dp[i+][j+][]+dp[i][j][])%mod; dp[i+][j][]=(dp[i+][j][]+dp[i][j][]+dp[i][j][]+dp[i][j][])%mod;
dp[i+][j+][]=(dp[i+][j+][]+dp[i][j][])%mod;
}
} // for (int i=1;i<=n;i++){
// for (int j=1;j<=2*n;j++){
// printf("%d %d %d %d----",dp[i][j][0],dp[i][j][1],dp[i][j][2],dp[i][j][3]);
// }
// printf("\n");
// }
printf("%lld\n",(dp[n][k][]+dp[n][k][]+dp[n][k][]+dp[n][k][])%mod); }
return ;
}

CodeForces - 1051D-简单DP的更多相关文章

  1. CodeForces - 1051D Bicolorings(DP)

    题目链接:http://codeforces.com/problemset/problem/1051/D 看了大佬的题解后觉着是简单的dp,咋自己做就做不来呢. 大佬的题解:https://www.c ...

  2. You Are Given a Decimal String... CodeForces - 1202B [简单dp][补题]

    补一下codeforces前天教育场的题.当时只A了一道题. 大致题意: 定义一个x - y - counter :是一个加法计数器.初始值为0,之后可以任意选择+x或者+y而我们由每次累加结果的最后 ...

  3. CodeForces - 1051D (线性DP)

    题目:https://codeforces.com/problemset/problem/1051/D 题意:一个2行n列的矩形,上面有黑白块,然后问你怎么布置才能有k个连通块,问有多少种方案数 思路 ...

  4. Codeforces Round #260 (Div. 1) A. Boredom (简单dp)

    题目链接:http://codeforces.com/problemset/problem/455/A 给你n个数,要是其中取一个大小为x的数,那x+1和x-1都不能取了,问你最后取完最大的和是多少. ...

  5. codeforces Gym 100500H A. Potion of Immortality 简单DP

    Problem H. ICPC QuestTime Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/gym/100500/a ...

  6. Codeforces Round #302 (Div. 2) C. Writing Code 简单dp

    C. Writing Code Time Limit: 20 Sec  Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/544/prob ...

  7. Codeforces 41D Pawn 简单dp

    题目链接:点击打开链接 给定n*m 的矩阵 常数k 以下一个n*m的矩阵,每一个位置由 0-9的一个整数表示 问: 从最后一行開始向上走到第一行使得路径上的和 % (k+1) == 0 每一个格子仅仅 ...

  8. Codeforces Round #267 (Div. 2)D(DFS+单词hash+简单DP)

    D. Fedor and Essay time limit per test 2 seconds memory limit per test 256 megabytes input standard ...

  9. Codeforces Round #394 (Div. 2) C. Dasha and Password(简单DP)

    C. Dasha and Password time limit per test 2 seconds memory limit per test 256 megabytes input standa ...

  10. HDU 1087 简单dp,求递增子序列使和最大

    Super Jumping! Jumping! Jumping! Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 ...

随机推荐

  1. xpath语法大全

    XPath 节点 XPath 术语 节点 在 XPath 中,有七种类型的节点:元素.属性.文本.命名空间.处理指令.注释以及文档(根)节点.XML 文档是被作为节点树来对待的.树的根被称为文档节点或 ...

  2. CentOS 7.0下解决ifconfig: command not found的方法

    在CentOS7.0中输入ifconfig命令会遇到-bash: ifconfig: command not found. 在CentOS最小安装时是没有附带ifconfig,我们进入sbin目录下可 ...

  3. Docker 入门到实践(三)Docker 安装

    注意:不要在没有配置 Docker APT 源的情况下直接使用 apt 命令安装 Docker. 一.准备工作 系统要求 Docker CE 支持一下版本的 Ubuntu 操作系统 Cosmic 18 ...

  4. Python爬虫-01:爬虫的概念及分类

    目录 # 1. 为什么要爬虫? 2. 什么是爬虫? 3. 爬虫如何抓取网页数据? # 4. Python爬虫的优势? 5. 学习路线 6. 爬虫的分类 6.1 通用爬虫: 6.2 聚焦爬虫: # 1. ...

  5. CSS3的新特性整理

    animation    IE10 animation的六大属性 animation-name规定需要绑定选择器的keyframe名称 animation-duration规定完成动画所花费的时间 s ...

  6. [WeChall] Training: Encodings I (Training, Encoding)

    Training: Encodings I (Training, Encoding) We intercepted this message from one challenger to anothe ...

  7. Win10 开始运行不保存历史记录原因和解决方法

    Win10 开始运行命令以后,再次打开就没有任何历史记录了,常规方法是桌面-右键-个性化-开始-显示最常用的应用..可是打开是灰色的不可选. 每次打开开始都没有以前的记录..比如需要打开下regedi ...

  8. 12.scrapy框架之递归解析和post请求

    今日概要 递归爬取解析多页页面数据 scrapy核心组件工作流程 scrapy的post请求发送 今日详情 1.递归爬取解析多页页面数据 - 需求:将糗事百科所有页码的作者和段子内容数据进行爬取切持久 ...

  9. grep正则表达式搜索

    grep -n -e "INT32 *AdaptorPrmOp" --include "*.c"  -r ./ 搜索函数的定义 中间有n个空格

  10. 部署与管理ZooKeeper(版本有点老,3.4.3)

    本文以ZooKeeper3.4.3版本的官方指南为基础:http://zookeeper.apache.org/doc/r3.4.3/zookeeperAdmin.html,补充一些作者运维实践中的要 ...