四重循环大模拟

我们考虑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]生日聚会相关推荐

  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个女生,男生与女 ...

  2. P2592 [ZJOI2008]生日聚会

    题目描述 今天是hidadz小朋友的生日,她邀请了许多朋友来参加她的生日party. hidadz带着朋友们来到花园中,打算坐成一排玩游戏.为了游戏不至于无聊,就座的方案应满足如下条件: 对于任意连续 ...

  3. bzoj1037[ZJOI2008]生日聚会Party dp

    [ZJOI2008]生日聚会Party Time Limit: 10 Sec  Memory Limit: 162 MB Submit: 2832  Solved: 1674 [Submit][Sta ...

  4. bzoj 1037: [ZJOI2008]生日聚会Party

    1037: [ZJOI2008]生日聚会Party Description 今天是hidadz小朋友的生日,她邀请了许多朋友来参加她的生日party. hidadz带着朋友们来到花园中,打算 坐成一排 ...

  5. [ZJOI2008]生日聚会Party

    1037: [ZJOI2008]生日聚会Party Time Limit: 10 Sec  Memory Limit: 162 MB Submit: 2907  Solved: 1727 [Submi ...

  6. 1037: [ZJOI2008]生日聚会Party

    1037: [ZJOI2008]生日聚会Party Time Limit: 10 Sec   Memory Limit: 162 MB Submit: 2102   Solved: 1246 [ Su ...

  7. bzoj1037 [ZJOI2008]生日聚会Party 插数dp

    这个题首先要认清楚任意一个区间差不超过k个怎么理解 看到k一般想的是装压,但如果是状压的思路的话,就需要前k个满足某种条件,于是有可能会猜到前k个满足非全0或1,但这是显然错误的 由于仅仅考虑前k个并 ...

  8. 洛谷——P2590 [ZJOI2008]树的统计(树链剖分模板练手)

    P2590 [ZJOI2008]树的统计 I. CHANGE u t : 把结点u的权值改为t II. QMAX u v: 询问从点u到点v的路径上的节点的最大权值 III. QSUM u v: 询问 ...

  9. 洛谷 P2590 [ZJOI2008]树的统计

    P2590 [ZJOI2008]树的统计 题目描述 一棵树上有n个节点,编号分别为1到n,每个节点都有一个权值w. 我们将以下面的形式来要求你对这棵树完成一些操作: I. CHANGE u t : 把 ...

最新文章

  1. JSP内置对象-response
  2. from __future__ import absolute_import, division, print_function
  3. 前端性能优化之jQuery按需加载轮播图
  4. @hdu - 3746@ Cyclic Nacklace
  5. Selinux安全上下文详解
  6. nginx 去掉服务器版本和名称和nginx_status 状态说明
  7. 由excel导出引起的cpu 100% 和gc 的问题
  8. 微信公众号-通用百度翻译代码实现
  9. 电商系统开发之产品订单分拆设计技术思路
  10. 关于PMSM的弱磁与MTPA结合控制超详细分析
  11. 搜索引擎代码资源[转]
  12. 【杂七杂八的笔记】2019CVPR论文快读
  13. 什么是ORM框架?常用的orm框架有哪些?能否不用ORM框架直接使用SQL语句创建WebAPI?
  14. 颜色表大全 | HTML Color Table
  15. android小游戏源码拼图,android编写的数字拼图游戏(带详细注释)
  16. 数字化转型的幕后英雄,希捷存储 40 年
  17. zookeeper重零开始--------自学(借鉴一些视频,书籍等工具)
  18. 全球地名中英文对照表(L)
  19. 理解矩阵,与矩阵背后的现实意义
  20. 【web前端】CSS的背景

热门文章

  1. 3D图标的制作(Cinema 4D, Photoshop, Icon workshop)
  2. 北京大兴计算机学校排名2015,北京大兴区小学排名2016
  3. markersize
  4. Windows报错:系统管理员设置了系统策略禁止进行此安装。解决方法!
  5. 编译原理 —— 属性文法和语义规则
  6. Apache Iceberg理解和应用
  7. 当前电气自动化专业就业形势调查报告 (转载)_史蒂文森sun_新浪博客
  8. unity实现文字飘血
  9. ArcGIS导入CAD文件转换失败,检查CAD图层名
  10. 情人眼里出西施,我用Python帮你搞定了!