[ZJOI2008] 生日聚会 - dp
共有\(n\)个男孩与\(m\)个女孩打算坐成一排。对于任意连续的一段,男孩与女孩的数目之差不超过 \(k\)。求方案数。
\(n,m \leq 150, k \leq 20\)
Solution
设 \(f[i][j][k][l]\) 表示放了 \(i,j\) 个男女,所有后缀中,男生减女生最大为 \(k\),女生减男生最大为 \(l\) 的方案数
采用“主动转移”
f[i+1][j][k+1][max(l-1,0)]+=f[i][j][k][l]
f[i][j+1][max(k-1,0)][l+1]+=f[i][j][k][l]
#include <bits/stdc++.h>
using namespace std;
int f[155][155][22][22],n,m,lim;
const int mod = 12345678;
signed main() {
cin>>n>>m>>lim;
f[0][0][0][0]=1;
for(int i=0;i<=n;i++) {
for(int j=0;j<=m;j++) {
for(int k=0;k<=lim;k++) {
for(int l=0;l<=lim;l++) {
(f[i+1][j][k+1][max(l-1,0)]+=f[i][j][k][l])%=mod;
(f[i][j+1][max(k-1,0)][l+1]+=f[i][j][k][l])%=mod;
}
}
}
}
int ans=0;
for(int i=0;i<=lim;i++) {
for(int j=0;j<=lim;j++) {
(ans+=f[n][m][i][j])%=mod;
}
}
cout<<ans;
}
[ZJOI2008] 生日聚会 - dp的更多相关文章
- BZOJ 1037: [ZJOI2008]生日聚会Party( dp )
dp(i, j, a, b)表示选了i个男生, j个女生, 后缀中男生比女生多a(最多), 女生比男生多b(最多). dp(i+1, j, a+1, max(0, b-1)) += dp(i, j, ...
- BZOJ 1037: [ZJOI2008]生日聚会Party [序列DP]
1037: [ZJOI2008]生日聚会Party Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 2249 Solved: 1337[Submit] ...
- BZOJ1037 [ZJOI2008]生日聚会Party 【DP】
1037: [ZJOI2008]生日聚会Party Time Limit: 10 Sec Memory Limit: 162 MB Submit: 2800 Solved: 1654 [Submi ...
- BZOJ 1037: [ZJOI2008]生日聚会Party 四维DP
1037: [ZJOI2008]生日聚会Party Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 1650 Solved: 971[Submit][ ...
- BZOJ 1037 [ZJOI2008]生日聚会Party
1037: [ZJOI2008]生日聚会Party Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 1583 Solved: 936[Submit][ ...
- bzoj千题计划125:bzoj1037: [ZJOI2008]生日聚会Party
http://www.lydsy.com/JudgeOnline/problem.php?id=1037 一个区间是否满足 任意连续的一段,男孩与女孩的数目之差不超过k, 取决于男孩与女孩数目之差的最 ...
- 【BZOJ1037】[ZJOI2008]生日聚会(动态规划)
[BZOJ1037][ZJOI2008]生日聚会(动态规划) 题面 BZOJ 洛谷 题解 假设前面的都合法,但是在加完当前的最后一个人之后变得不合法了,那么意味着一定有着一个后缀不合法.把男生看成\( ...
- BZOJ 1037 生日聚会 DP
[ZJOI2008]生日聚会Party Time Limit: 10 Sec Memory Limit: 162 MB Description 今天是hidadz小朋友的生日,她邀请了许多朋友来参加她 ...
- [ZJOI2008]生日聚会 BZOJ1037 dp
题目描述 今天是hidadz小朋友的生日,她邀请了许多朋友来参加她的生日party. hidadz带着朋友们来到花园中,打算坐成一排玩游戏.为了游戏不至于无聊,就座的方案应满足如下条件: 对于任意连续 ...
随机推荐
- android 华为、魅族手机无法打印 Log 日志的问题
最近使用魅族真机测试 App 时,发现 LogCat 不显示项目工程中通过Log.d()和Log.v()打印的 debug 和 verbose 级别的日志,甚是奇怪,通过 debug 模式断点调试也没 ...
- 《手把手教你构建自己的 Linux 系统》学习笔记(7)
目录 tee 命令的缺陷是什么?如何解决这个缺陷? /etc/ld.so.conf 文件的作用是什么? 动态链接和静态链接有什么不同? 动态编译 静态编译 共享库为什么会有版本?共享库的版本升级原理是 ...
- AGC018F - Two Trees
题意 有两棵节点数均为 n 的有根树,你需要构造一个序列 \(X_1,X_2,...,X_n\).使得对于每一棵树的每一个节点, 若令它所有的后代(包括它本身)为 \(a_1,a_2,...,a_k\ ...
- Electron – 基础学习(2): 项目打包成exe桌面应用 之electron-packager
项目创建完成,启动正常,接下来就是项目打包了.将测试Demo打包成exe桌面应用,点击exe文件,运行项目. 书接上文,创建项目有三种方式 Git拷贝.直接创建:通过electron社群提供的命令行工 ...
- 一个抓猫的游戏 消遣GAME 持续更新中!
一个抓猫的游戏 版本 Catch_Cat_V0.30 https://files-cdn.cnblogs.com/files/send-off-a-friend/Catch_Cat_V0.3.rar ...
- 20200228 尚硅谷-NIO
尚硅谷-NIO Java NIO简介 Java NIO(New IO.Non Blocking IO)是从Java1.4版本开始引入的新的 IO API,可以替代标准的 Java IO API. NI ...
- 吴裕雄--天生自然 python开发学习笔记:Git安装配置流程
- AI 数学基础 张量 范数
1.张量 几何代数中定义的张量是基于向量和矩阵的推广,通俗一点理解的话,我们可以将标量视为零阶张量,矢量视为一阶张量,那么矩阵就是二阶张量. 例如,可以将任意一张彩色图片表示成一个三阶张量,三个维度分 ...
- php趣题小记
题目一: $a = 'abc'; $a++; echo $a; // abd 题目二: function myfun($a){ echo $a+10; } $a = 10; echo "my ...
- 监听Ueditor的 iframe中的按键,按键组合事件(Ctrl+s)
个人博客 地址:https://www.wenhaofan.com/a/20190716214214 监听按键事件 ueditor.ready(function() { UE.dom.domU ...