[Bzoj1037][ZJOI2008]生日聚会(DP)
Description
Solution
这题状态比较难想,
\(dp[i][j][g][h]\)表示强i个人有j个男生,在某个区间男生最多比女生多g人,女生最多比男生多h人的方案数,然后DP即可
最后答案是是所有\(dp[n+m][n][i][j](0\leq i,j\leq k)\)加起来
Code
#include <cstdio>
#include <algorithm>
using namespace std;
const int mo=12345678;
int n,m,k,dp[310][160][23][23],Ans;
int main(){
scanf("%d%d%d",&n,&m,&k);
dp[0][0][0][0]=1;
for(int i=0;i<=n+m-1;++i)
for(int j=0;j<=n;++j)
for(int g=0;g<=k;++g)
for(int h=0;h<=k;++h){
if(j+1<=n&&g+1<=k) (dp[i+1][j+1][g+1][max(h-1,0)]+=dp[i][j][g][h])%=mo;
if(i-j+1<=m&&h+1<=k) (dp[i+1][j][max(g-1,0)][h+1]+=dp[i][j][g][h])%=mo;
}
for(int i=0;i<=k;++i)for(int j=0;j<=k;++j)(Ans+=dp[n+m][n][i][j])%=mo;
printf("%d\n",Ans);
return 0;
}
[Bzoj1037][ZJOI2008]生日聚会(DP)的更多相关文章
- BZOJ1037 [ZJOI2008]生日聚会Party 【DP】
1037: [ZJOI2008]生日聚会Party Time Limit: 10 Sec Memory Limit: 162 MB Submit: 2800 Solved: 1654 [Submi ...
- bzoj千题计划125:bzoj1037: [ZJOI2008]生日聚会Party
http://www.lydsy.com/JudgeOnline/problem.php?id=1037 一个区间是否满足 任意连续的一段,男孩与女孩的数目之差不超过k, 取决于男孩与女孩数目之差的最 ...
- BZOJ1037:[ZJOI2008]生日聚会Party(DP)
Description 今天是hidadz小朋友的生日,她邀请了许多朋友来参加她的生日party.hidadz带着朋友们来到花园中,打算坐成一排玩游戏. 为了游戏不至于无聊,就座的方案应满足如下条件: ...
- bzoj1037 [ZJOI2008]生日聚会
Description 今天是hidadz小朋友的生日,她邀请了许多朋友来参加她的生日party. hidadz带着朋友们来到花园中,打算坐成一排玩游戏.为了游戏不至于无聊,就座的方案应满足如下条件: ...
- BZOJ1037: [ZJOI2008]生日聚会Party
DP… /************************************************************** Problem: 1037 User: zhuohan123 L ...
- BZOJ1037 ZJOI2008生日聚会(动态规划)
设f[i][j][x][y]为安排了i个男孩j个女孩,后缀最大男孩-女孩数为x,最大女孩-男孩数为y的方案数.转移显然. #include<iostream> #include<cs ...
- [ZJOI2008] 生日聚会 - dp
共有\(n\)个男孩与\(m\)个女孩打算坐成一排.对于任意连续的一段,男孩与女孩的数目之差不超过 \(k\).求方案数. \(n,m \leq 150, k \leq 20\) Solution 设 ...
- 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] ...
随机推荐
- AngularJS 指令解析(一)
AngularJS 指令解析(一) 前言 笔者AngularJS接触时间差不多是两年多,虽然这两年多AngularJS版本日新月异,但是笔者的版本是比较老的1.4.3,一方面是自己对这个版本比较熟悉, ...
- vue组件双向绑定.sync修饰符的一个坑
我们知道组件是单项的,但是有时候需要双向,这时候我们可以使用.sync修饰符,但今天遇到一个坑,一直不成功,花了半小时试出来的.... 在编程的时候我们很习惯冒号后面跟着空格.而.sync双向绑定需要 ...
- jquery的全选和多选操作
//全选产品 $('#checkAll').click(function() { $(this).prop('checked',!$(this).prop('checked')); if($(this ...
- ATL
Normal COM.cpp #include "resource.h" // 主符号 #include "ATLCOM_i.h" #include " ...
- Lua相关函数整理
1.asset(a==b,tipmsg);错误处理 2.pcall,xpcall,debug,保护函数执行,并且查看相关信息 3.collectgarbage()函数相关: collectgarbag ...
- win10 mstsc 远程,登录失败,账号限制
问题: win7操作系统在局域网共享文件时,有时会遇到“登录失败:用户账户限制.可能的原因包括不允许空密码,登录时间限制,或强制的策略限制.”的情况,这要怎么解决呢 解决步骤: 1.按WIN+R,调出 ...
- mysql:JDBC url 参数详解
MySql链接url参数详解 jdbc:mysql://[host:port],[host:port].../[database][?参数名1][=参数值1][&参数名2][=参数值2]... ...
- MSSQL复制分发对异构数据库之间大容量数据分发造成异常
由于历史遗留的问题,现有的架构中存在采用MSSQL的复制分发功能,从Oracle发布数据到MSSQL. 关于这项发布的实现原理,官方表述如下: Oracle 事务发布是通过使用 SQL Server ...
- 如何将centos7自带的firewall防火墙更换为iptables防火墙
用惯了centos6的iptables防火墙,对firewall太无感了,那么如何改回原来熟悉的iptables防火墙呢? 1.关闭firewall防火墙 [root@centos7 html]# s ...
- BZOJ 4502: 串 AC自动机
4502: 串 Time Limit: 30 Sec Memory Limit: 512 MBSubmit: 195 Solved: 95[Submit][Status][Discuss] Des ...