bzoj 1037: [ZJOI2008]生日聚会Party (DP)
来源:互联网 发布:自学机器人编程入门 编辑:程序博客网 时间:2024/05/18 20:36
题目描述
传送门
题目大意:n个女孩,m个男孩排成一排,求任意区间男孩女孩数量相差不超过k的方案数。
题解
考虑每次在已经排好的序列结尾加入一个男孩或者女孩,
注意
然后直接转移即可。
代码
#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#include<cmath>#define p 12345678using namespace std;int f[153][153][41][41];int n,m,t;int main(){ freopen("a.in","r",stdin); scanf("%d%d%d",&n,&m,&t); f[0][0][t][t]=1; for (int s=0;s<=n+m;s++) for (int j=0;j<=m;j++){ int i=s-j; if (i<0||i>n) continue; for (int k=0;k<=2*t;k++) for (int l=0;l<=2*t;l++) if (f[i][j][k][l]) { if (k-1>=0&&l+1<=2*t) (f[i+1][j][k-1][max(l+1,1+t)]+=f[i][j][k][l])%=p; if (l-1>=0&&k+1<=2*t) (f[i][j+1][max(1+t,k+1)][l-1]+=f[i][j][k][l])%=p; } } int ans=0; for (int i=0;i<=2*t;i++) for (int j=0;j<=2*t;j++) ans=(ans+f[n][m][i][j])%p; printf("%d\n",ans);}
阅读全文
0 0
- [BZOJ 1037][ZJOI2008]生日聚会Party(DP)
- BZOJ 1037: [ZJOI2008]生日聚会Party DP
- BZOJ 1037: [ZJOI2008]生日聚会Party DP
- bzoj 1037: [ZJOI2008]生日聚会Party (DP)
- HYSBZ/BZOJ 1037 [ZJOI2008] 生日聚会Party - dp
- BZOJ 1037: [ZJOI2008]生日聚会Party
- 【bzoj 1037】: [ZJOI2008]生日聚会Party
- bzoj 1037: [ZJOI2008]生日聚会Party
- bzoj 1037: [ZJOI2008]生日聚会Party
- bzoj 1037 [ZJOI2008]生日聚会Party
- 1037: [ZJOI2008]生日聚会Party dp
- BZOJ 1037-生日聚会Party(DP)
- 1037: [ZJOI2008]生日聚会Party
- 1037: [ZJOI2008]生日聚会Party
- 1037: [ZJOI2008]生日聚会Party
- 1037: [ZJOI2008]生日聚会Party
- BZOJ P1037[ZJOI2008]生日聚会Party
- BZOJ 1307 [ZJOI2008]生日聚会Party
- JavaWeb 修炼之路(五)服务器中的请求和响应
- React基础记录
- Xcode other link flag参数详解和解决静态库冲突分析
- 如何搭建一个简单的个人网站
- ImageProcessing贴纸效果
- bzoj 1037: [ZJOI2008]生日聚会Party (DP)
- 软件生存周期各阶段的任务
- Selenium Grid2做分布式测试
- jqgrid 表格插件实现多行表头
- LODOP属性和方法
- 计算系数
- 获取jQuery validation对象的两种方式
- spring IOC的好处
- transact和onTransact的区别