BZOJ1037: [ZJOI2008]生日聚会Party
DP…
/**************************************************************
Problem: 1037
User: zhuohan123
Language: C++
Result: Accepted
Time:448 ms
Memory:1792 kb
****************************************************************/ #include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
inline int imax(int a,int b){return a>b?a:b;}
inline int imin(int a,int b){return a<b?a:b;}
const int mo=;
inline int add(int &a,int b){a=(a+b)%mo;}
int f[][][][];
//f[总人数][男生数][男-女][女-男] P.S.最后两维若是负数则当为0
int main(int argc, char *argv[])
{
int n,m,k;cin>>n>>m>>k;
f[][][][]=;
for(int i=;i<n+m;i++)
{
memset(f[(i+)&],,sizeof f[(i+)&]);
for(int j=;j<=imin(i,n);j++)
for(int bmg=;bmg<=imin(j,k);bmg++)
for(int gmb=;gmb<=imin(i-j,k);gmb++)
{
if(bmg<k&&j<n)add(f[(i+)&][j+][bmg+][imax(gmb-,)],f[i&][j][bmg][gmb]);
if(gmb<k&&(i-j)<m)add(f[(i+)&][j][imax(bmg-,)][gmb+],f[i&][j][bmg][gmb]);
}
}
int ans=;
for(int i=;i<=k;i++)
for(int j=;j<=k;j++)
add(ans,f[(n+m)&][n][i][j]);
cout<<ans<<endl;
return ;
}
BZOJ1037: [ZJOI2008]生日聚会Party的更多相关文章
- bzoj千题计划125:bzoj1037: [ZJOI2008]生日聚会Party
http://www.lydsy.com/JudgeOnline/problem.php?id=1037 一个区间是否满足 任意连续的一段,男孩与女孩的数目之差不超过k, 取决于男孩与女孩数目之差的最 ...
- BZOJ1037 [ZJOI2008]生日聚会Party 【DP】
1037: [ZJOI2008]生日聚会Party Time Limit: 10 Sec Memory Limit: 162 MB Submit: 2800 Solved: 1654 [Submi ...
- BZOJ1037:[ZJOI2008]生日聚会Party(DP)
Description 今天是hidadz小朋友的生日,她邀请了许多朋友来参加她的生日party.hidadz带着朋友们来到花园中,打算坐成一排玩游戏. 为了游戏不至于无聊,就座的方案应满足如下条件: ...
- BZOJ1037 ZJOI2008生日聚会(动态规划)
设f[i][j][x][y]为安排了i个男孩j个女孩,后缀最大男孩-女孩数为x,最大女孩-男孩数为y的方案数.转移显然. #include<iostream> #include<cs ...
- bzoj1037 [ZJOI2008]生日聚会
Description 今天是hidadz小朋友的生日,她邀请了许多朋友来参加她的生日party. hidadz带着朋友们来到花园中,打算坐成一排玩游戏.为了游戏不至于无聊,就座的方案应满足如下条件: ...
- [Bzoj1037][ZJOI2008]生日聚会(DP)
Description 题目链接 Solution 这题状态比较难想, \(dp[i][j][g][h]\)表示强i个人有j个男生,在某个区间男生最多比女生多g人,女生最多比男生多h人的方案数,然后D ...
- 【BZOJ1037】[ZJOI2008]生日聚会(动态规划)
[BZOJ1037][ZJOI2008]生日聚会(动态规划) 题面 BZOJ 洛谷 题解 假设前面的都合法,但是在加完当前的最后一个人之后变得不合法了,那么意味着一定有着一个后缀不合法.把男生看成\( ...
- BZOJ 1037 [ZJOI2008]生日聚会Party
1037: [ZJOI2008]生日聚会Party Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 1583 Solved: 936[Submit][ ...
- 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, ...
随机推荐
- python网络画图——networkX
networkX tutorial 绘制基本网络图 用matplotlib绘制网络图 基本流程: 1. 导入networkx,matplotlib包 2. 建立网络 3. 绘制网络 nx.draw() ...
- 十天学会单片机Day3 D/A与A/D转换器
D/A转换器 1.二进制权电阻网络型D/A转换器 基准电压Vref 数据D(d3d2d1d0) 输出模拟电压V0 i0 = Vref/8R i1 = Vref/4R i2 = Vref/ ...
- UCOS2_STM32F1移植详细过程(一)
Ⅰ.概述 该文写针对初学µC/OS的朋友,基于以下平台来一步一步移植µC/OS嵌入式操作系统.UCOS移植相关平台: 系统平台:µC/OS-II (最新V2.92版) 硬件平台:STM32F1 ...
- 中兴软件编程规范C/C++
Q/ZX 深圳市中兴通讯股份有限公司企业标准 (设计技术标准) Q/ZX 04.302.1–2003 软件编程规范C/C++ 20 ...
- Python学习教程(learning Python)--2.3.1 Python传参函数设计
本节主要讨论设计传递多个参数子函数的设计方法. 在2.3节里我们讨论了如何自己设计一个带参数的子函数的设计方法,现在我们研究一下如何传递两个及以上参数的设计方法. 函数为何要带参数呢?其实原因很简单, ...
- 在newegg工作的这两个月
6月11号,接到录用通知后的第二天,来到了Newegg . 作为开发,在本职工作上 1.入职Quick Start: 两周多的入职快速指引,以了解业务,架构为目的. 因为之前一直有用思维导图的习惯,所 ...
- VPN错误800、错误789
VPN突然无法连接解决方法: 1. 单击“开始”,单击“运行”,键入“regedit”,然后单击“确定” 2. 找到下面的注册表子项,然后单击它:HKEY_LOCAL_MACHINE\System\C ...
- C++中int *p[4]和 int (*q)[4]的区别
这俩兄弟长得实在太像,以至于经常让人混淆.然而细心领会和甄别就会发现它们大有不同. 前者是指针数组,后者是指向数组的指针.更详细地说. 前: 指针数组;是一个元素全为指针的数组.后: 数组指针;可以直 ...
- Javascript是一个事件驱动语言
面向原型这种说法我没在网上找到
- 集成友盟分享SDK报错
删除4.2.1版本的reference换成4.3版本运行报错 解决办法:要将4.2.1版本的全部库文件物理删除,不要只删除reference.