[BZOJ 1037] 生日聚会Party
Link:
BZOJ 1037 传送门
Solution:
由于对任意一段都有要求,于是我们对于所有前缀考虑其后缀不超过$k $即可:
设$dp[i][j][x][y]$为前$i$个人中有$j$个男孩,且后缀中男女最大相差$x$,女男最大相差$y$时的方案数
每次向添加女孩/添加男孩转移。
注意:如果差值为负数时置为$0$,因为无论差了多少,在下一次添加相同性别时最大相差都会变为$1$
Code:
#include <bits/stdc++.h>using namespace std; const int MOD=12345678; const int MAXN=155; int dp[2*MAXN][MAXN][25][25],n,m,k,res=0;int main() {scanf("%d%d%d",&n,&m,&k);dp[0][0][0][0]=1; //初始值for(int i=0;i<n+m;i++) for(int j=0;j<=n;j++)for(int x=0;x<=k;x++) for(int y=0;y<=k;y++)if(dp[i][j][x][y]){if(j+1<=n && x+1<=k) (dp[i+1][j+1][x+1][max(0,y-1)]+=dp[i][j][x][y])%=MOD;if(y+1<=k && i+1-j<=m) (dp[i+1][j][max(0,x-1)][y+1]+=dp[i][j][x][y])%=MOD;}for(int i=0;i<=n;i++) for(int j=0;j<=k;j++) for(int x=0;x<=k;x++)(res+=dp[n+m][i][j][x])%=MOD;printf("%d",res);return 0; }
Review:
(1)如果转移为向后添加数时,一般用已知数向后转移未知数更方便,而非未知数反推已知数
(2)如果对“任意一段”有要求时,转移时保证每一个前缀的最差后缀都合法即可
转载于:https://www.cnblogs.com/newera/p/9157648.html
[BZOJ 1037] 生日聚会Party相关推荐
- bzoj 1037: [ZJOI2008]生日聚会Party
1037: [ZJOI2008]生日聚会Party Description 今天是hidadz小朋友的生日,她邀请了许多朋友来参加她的生日party. hidadz带着朋友们来到花园中,打算 坐成一排 ...
- 1037: [ZJOI2008]生日聚会Party
1037: [ZJOI2008]生日聚会Party Time Limit: 10 Sec Memory Limit: 162 MB Submit: 2102 Solved: 1246 [ Su ...
- [ZJOI2008]生日聚会Party
1037: [ZJOI2008]生日聚会Party Time Limit: 10 Sec Memory Limit: 162 MB Submit: 2907 Solved: 1727 [Submi ...
- 图灵五周年生日聚会圆满成功,多家媒体对此进行报道
"图灵五年 抓牢IT引进版" ,http://sinaurl.cn/qZ0yh .<出版商务周报> 对图灵五周年生日聚会进行了报道,同时对图灵总经理武卫东进行了访问. ...
- bzoj1037[ZJOI2008]生日聚会Party dp
[ZJOI2008]生日聚会Party Time Limit: 10 Sec Memory Limit: 162 MB Submit: 2832 Solved: 1674 [Submit][Sta ...
- 生日游戏html,创意生日聚会游戏
导语:生日聚会上除了吃蛋糕和唱生日歌,游戏才是热场的好方式,下面接下来就由jy135小编给大家带来一些创意的生日聚会游戏,希望大家喜欢. 创意生日聚会游戏 1.俄罗斯转盘 取 六个杯子,分别倒等量或者 ...
- P2592 [ZJOI2008]生日聚会(dp)
P2592 [ZJOI2008]生日聚会(dp) dp,关键是如何表示男女差的状态. 因此设dp(i,j,k,l)dp(i,j,k,l)dp(i,j,k,l)表示用iii个男生,jjj个女生,男生与女 ...
- 大一集训题i题生日聚会lightoj-1008 - Fibsieve`s Fantabulous Birthday
大一集训题i题生日聚会lightoj-1008 - Fibsieve`s Fantabulous Birthday **大一集训题i题生日聚会lightoj-1008 - Fibsieves Fant ...
- BZOJ 1037 [ZJOI2008]生日聚会Party(单调DP)
[题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=1037 [题目大意] 现在有n个男生,m个女生排成一行,要求不存在一个区间男女之差大于k ...
最新文章
- php获取表字段,使用 php 获取表的字段信息
- python中的继承有什么特点_python类的继承是什么?类的继承有什么样的规则?
- QT判断操作系统版本
- golang第三方日志包seelog配置文件详解
- DEBUG日记:同样的代码在不同的环境却得出不同的结果。
- Spring Boot中使用Redis数据库
- 从小小后视镜看物联网的生态(下)
- 笔记05 局部类型
- java jpa更新数据_Java如何使用JPA更新实体对象?
- 实现添加商品信息功能
- python画图包-Python 绘图包 Matplotlib Pyplot 教程
- C#多线程的用法2-线程的生命周期
- WhatsApp拟取消服务订阅年费
- 7月6号奥特曼服务器维护中,泰迦奥特曼:7月6号开播,泰迦是泰罗儿子,优幸可变为三个奥特曼...
- 计算机社团个人简介怎么写,社团个人简历怎么写
- 有人喜欢有人嫉妒,竟然因为这上了互联网热搜
- 1分钟链圈 | 有趣!BM评价V神新共识算法:这是「非拜占庭容错机制」的终结者...
- 游标CURSOR的基本用法
- 你想要的虚幻UE游戏人物模型素材都在这里,细致又齐全
- MarkMan – 马克鳗,让设计更有爱!