http://acm.hdu.edu.cn/showproblem.php?pid=4301

题意:

有一块n*2大小的巧克力,现在某人要将这巧克力分成k个部分,每个部分大小随意,问有多少种分法。

思路:

dp [ i ] [ j ] [ 0/1 ]表示到第 i 列时分成 j 块的方案数,0/1表示第 i 列的两格巧克力是否相连。

这样的话,分析到第 i 块时的情况如下:

①块数不变

dp[i][j][] = dp[i][j][] + dp[i-][j][]*
dp[i][j][] = dp[i-][j][]

②块数+1

dp[i][j][] = dp[i-][j-][] + dp[i-][j-][]
dp[i][j][] = dp[i-][j-][]* + dp[i-][j-][]*

③块数+2

dp[i][j][] = dp[i-][j-][] + dp[i-][j-][]

最后加起来即可。

 #include<iostream>
#include<cstdio>
using namespace std;
const int mod = ; int n, k;
int dp[][][]; int main()
{
dp[][][] = ;
dp[][][] = ;
dp[][][] = ;
dp[][][] = ;
for(int i=;i<=;i++)
{
for(int j=;j<=*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-][];
dp[i][j][]%=mod;
dp[i][j][] += dp[i-][j-][]* + dp[i-][j-][]*;
dp[i][j][]%=mod;
if(j>)
{
dp[i][j][] += dp[i-][j-][] + dp[i-][j-][];
dp[i][j][]%=mod;
}
}
}
int T;
scanf("%d",&T);
while(T--)
{
scanf("%d%d",&n,&k);
printf("%d\n",(dp[n][k][]+dp[n][k][])%mod);
}
return ;
}

HDU 4301 Divide Chocolate(DP)的更多相关文章

  1. HDU 4301 Divide Chocolate (DP + 递推)

    Divide Chocolate Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...

  2. HDU 5791:Two(DP)

    http://acm.hdu.edu.cn/showproblem.php?pid=5791 Two Problem Description   Alice gets two sequences A ...

  3. HDU 4833 Best Financing(DP)(2014年百度之星程序设计大赛 - 初赛(第二轮))

    Problem Description 小A想通过合理投资银行理财产品达到收益最大化.已知小A在未来一段时间中的收入情况,描述为两个长度为n的整数数组dates和earnings,表示在第dates[ ...

  4. HDU 4833 Best Financing (DP)

    Best Financing Time Limit: 20000/10000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...

  5. HDU 1422 重温世界杯(DP)

    点我看题目 题意 : 中文题不详述. 思路 : 根据题目描述及样例可以看出来,如果你第一个城市选的是生活费减花费大于等于0的时候才可以,最好是多余的,这样接下来的就算是花超了(一定限度内的花超),也可 ...

  6. HDU 1176 免费馅饼(DP)

    点我看题目 题意 : 中文题.在直线上接馅饼,能接的最多是多少. 思路 :这个题其实以前做过.....你将这个接馅饼看成一个矩阵,也不能说是一个矩阵,反正就是一个行列俱全的形状,然后秒当行,坐标当列, ...

  7. hdu 4055 Number String(dp)

    Problem Description The signature of a permutation is a string that is computed as follows: for each ...

  8. 【HDU - 4345 】Permutation(DP)

    BUPT2017 wintertraining(15) #8F 题意 1到n的排列,经过几次置换(也是一个排列)回到原来的排列,就是循环了. 现在给n(<=1000),求循环周期的所有可能数. ...

  9. HDU 5375 Gray code(DP)

    题意:给一串字符串,里面可能出现0,1,?,当中问号可能为0或1,将这个二进制转换为格雷码后,格雷码的每位有一个权值,当格雷码位取1时.加上该位权值,求最大权值和为多少. 分析:比赛的时候愚了.竟然以 ...

随机推荐

  1. elsearch

    1. ElasticSearch是性能优化的分布式全文搜索引擎,存储数据的载体是文档(Document),它的优势在于搜索速度快和支持聚合操作,在更新文档时,基本上能够达到实时搜索.ElasticSe ...

  2. doc&Alt+/ 快捷键设置&ThreadLocal Fameset与Frame区别

    Alt+/不管用原因:新版本中MyEclipse的Alt+/是别的快捷键,Ctrl+Space是提示标签快捷键,而Ctrl+Space与输入法切换冲突不能用.MyEclipse设置Alt+/快捷键 1 ...

  3. HDU 1232 畅通工程 (并查集)

    某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇.省政府“畅通工程”的目标是使全省任何两个城镇间都可以实现交通(但不一定有直接的道路相连,只要互相间接通过道路可达即可). ...

  4. Robot Framework 自动化测试--部署篇

    一.产品介绍 Robot Framework是一个基于Python的,可扩展的关键字驱动的测试自动化框架.它是为了端 到端的验收测试(End-To-End Acceptance Test)以及验收测试 ...

  5. A2W,W2A等的使用

    #include <atlbase.h> #include <atlconv.h> 代码块 { ...... USES_CONVERSION; CString TempDirP ...

  6. springboot+mybaties

    1. 开发工具:Intellij idea2018.3 2. file----->new----->project 3. 选择Spring Initializr,点击next 4. 点击n ...

  7. 一文看懂显示关键材料之彩色滤光片(Color Filter)

    http://www.sohu.com/a/219398623_119960 液晶显示器的背光源发出的白光,而想要获得彩色显示,必须依靠显示关键材料-彩色滤光片. 图片来源:网络公开资料 什么是彩色滤 ...

  8. li设置inline-block后,li左边出现空隙问题。

    方法1:在ul设置font-size=0,然后再li再单独设置font-size 方法2:li连着写不要换行,也可以解决. <ul> <li>测试1</li>< ...

  9. php+redis,延迟任务 实现自动取消订单,自动完成订单

    简单定时任务解决方案:使用redis的keyspace notifications(键失效后通知事件) 需要注意此功能是在redis 2.8版本以后推出的,因此你服务器上的reids最少要是2.8版本 ...

  10. 【题解】Luogu P1204 [USACO1.2]挤牛奶Milking Cows

    原题传送门:P1204 [USACO1.2]挤牛奶Milking Cows 实际是道很弱智的题目qaq 但窝还是觉得用珂朵莉树写会++rp(窝都初二了,还要考pj) 前置芝士:珂朵莉树 窝博客里对珂朵 ...