BZOJ1037洛谷P2592 [ZJOI2008]生日聚会
四重循环大模拟
我们考虑f[i][j][k][e]表示前i个人,有j个男生,女生个数即为i-j,任意一段中男生最多比女生多k个,女生比男生最多多e个,
那么当前状态可以转移到
1.在j<n的情况下,下一个人是男生,即f[i+1][j+1][k+1][e-1],因为e可能是负数,然后我们就不管他了,负数全看成0,然后直接转移过去
2.在i-j<m,下一个人是女生,即f[i+1][j][k-1][e+1],同男生,k可能是负数,也看成0,然后直接转移接好了
代码
//By AcerMo
#include<cmath>
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
const int M=160;
const int mod=12345678;
int n,m,e;
int f[M*2][M][21][21];
signed main()
{cin>>n>>m>>e;f[0][0][0][0]=1;for (int i=0;i<=n+m-1;i++)for (int j=0;j<=n;j++)for (int k=0;k<=e;k++)for (int o=0;o<=e;o++)if (f[i][j][k][o]){if (j+1<=n&&k+1<=e)f[i+1][j+1][k+1][max(o-1,0)]=(f[i+1][j+1][k+1][max(o-1,0)]+f[i][j][k][o])%mod;if (i+1-j<=m&&o+1<=e) f[i+1][j][max(k-1,0)][o+1]=(f[i+1][j][max(k-1,0)][o+1]+f[i][j][k][o])%mod;}int ans=0;for (int i=0;i<=e;i++)for (int k=0;k<=e;k++)ans=(ans+f[n+m][n][i][k])%mod;cout<<ans;return 0;
}
BZOJ1037洛谷P2592 [ZJOI2008]生日聚会相关推荐
- P2592 [ZJOI2008]生日聚会(dp)
P2592 [ZJOI2008]生日聚会(dp) dp,关键是如何表示男女差的状态. 因此设dp(i,j,k,l)dp(i,j,k,l)dp(i,j,k,l)表示用iii个男生,jjj个女生,男生与女 ...
- P2592 [ZJOI2008]生日聚会
题目描述 今天是hidadz小朋友的生日,她邀请了许多朋友来参加她的生日party. hidadz带着朋友们来到花园中,打算坐成一排玩游戏.为了游戏不至于无聊,就座的方案应满足如下条件: 对于任意连续 ...
- bzoj1037[ZJOI2008]生日聚会Party dp
[ZJOI2008]生日聚会Party Time Limit: 10 Sec Memory Limit: 162 MB Submit: 2832 Solved: 1674 [Submit][Sta ...
- bzoj 1037: [ZJOI2008]生日聚会Party
1037: [ZJOI2008]生日聚会Party Description 今天是hidadz小朋友的生日,她邀请了许多朋友来参加她的生日party. hidadz带着朋友们来到花园中,打算 坐成一排 ...
- [ZJOI2008]生日聚会Party
1037: [ZJOI2008]生日聚会Party Time Limit: 10 Sec Memory Limit: 162 MB Submit: 2907 Solved: 1727 [Submi ...
- 1037: [ZJOI2008]生日聚会Party
1037: [ZJOI2008]生日聚会Party Time Limit: 10 Sec Memory Limit: 162 MB Submit: 2102 Solved: 1246 [ Su ...
- bzoj1037 [ZJOI2008]生日聚会Party 插数dp
这个题首先要认清楚任意一个区间差不超过k个怎么理解 看到k一般想的是装压,但如果是状压的思路的话,就需要前k个满足某种条件,于是有可能会猜到前k个满足非全0或1,但这是显然错误的 由于仅仅考虑前k个并 ...
- 洛谷——P2590 [ZJOI2008]树的统计(树链剖分模板练手)
P2590 [ZJOI2008]树的统计 I. CHANGE u t : 把结点u的权值改为t II. QMAX u v: 询问从点u到点v的路径上的节点的最大权值 III. QSUM u v: 询问 ...
- 洛谷 P2590 [ZJOI2008]树的统计
P2590 [ZJOI2008]树的统计 题目描述 一棵树上有n个节点,编号分别为1到n,每个节点都有一个权值w. 我们将以下面的形式来要求你对这棵树完成一些操作: I. CHANGE u t : 把 ...
最新文章
- JSP内置对象-response
- from __future__ import absolute_import, division, print_function
- 前端性能优化之jQuery按需加载轮播图
- @hdu - 3746@ Cyclic Nacklace
- Selinux安全上下文详解
- nginx 去掉服务器版本和名称和nginx_status 状态说明
- 由excel导出引起的cpu 100% 和gc 的问题
- 微信公众号-通用百度翻译代码实现
- 电商系统开发之产品订单分拆设计技术思路
- 关于PMSM的弱磁与MTPA结合控制超详细分析
- 搜索引擎代码资源[转]
- 【杂七杂八的笔记】2019CVPR论文快读
- 什么是ORM框架?常用的orm框架有哪些?能否不用ORM框架直接使用SQL语句创建WebAPI?
- 颜色表大全 | HTML Color Table
- android小游戏源码拼图,android编写的数字拼图游戏(带详细注释)
- 数字化转型的幕后英雄,希捷存储 40 年
- zookeeper重零开始--------自学(借鉴一些视频,书籍等工具)
- 全球地名中英文对照表(L)
- 理解矩阵,与矩阵背后的现实意义
- 【web前端】CSS的背景