BZOJ1037 DP
2013-11-15 21:51
原题传送门http://www.lydsy.com/JudgeOnline/problem.php?id=1037
拿到这道题想到了DP,后来发现三维无法确定的表示状态(起码我是表示不出来)
然后就用四维表示状态,w[i,j,k1,k2]表示一共i个人,j个男生,前i-1个人中任意一个人到第i个人的区间里,男生比女生最多多k1个人且存在k1的情况,
女生比男生最多多k2个人且存在k2的情况
那么w[i,j,k1,k2]这个状态可以更新w[i+1,j+1,k1+1,max(k2-1,0)]表示第i+1个位置放的男生,w[i+1,j,max(k1-1),k2+1]表示放的女生,那么就可以转移了。
//By BLADEVIL
const
d39 =; var
n, m, k :longint;
i, j, k1, k2 :longint;
w :array[..,..,..,..] of longint;
ans :longint;
function max(a,b:longint):longint;
begin
if a>b then max:=a else max:=b;
end;
begin
read(n,m,k);
w[,,,]:=;
w[,,,]:=;
for i:= to n+m- do
for j:= to i do
for k1:= to k do
for k2:= to k do
begin
if w[i,j,k1,k2]= then continue;
if (k1<k) and (j<n) then
w[i+,j+,k1+,max(k2-,)]:=(w[i+,j+,k1+,max(k2-,)]+w[i,j,k1,k2]) mod d39;
if (k2<k) and (i-j<m) then
w[i+,j,max(k1-,),k2+]:=(w[i+,j,max(k1-,),k2+]+w[i,j,k1,k2]) mod d39;
end;
ans:=;
for i:= to k do
for j:= to k do ans:=(ans+w[n+m,n,i,j]) mod d39;
writeln(ans);
end.
BZOJ1037 DP的更多相关文章
- [ZJOI2008]生日聚会 BZOJ1037 dp
题目描述 今天是hidadz小朋友的生日,她邀请了许多朋友来参加她的生日party. hidadz带着朋友们来到花园中,打算坐成一排玩游戏.为了游戏不至于无聊,就座的方案应满足如下条件: 对于任意连续 ...
- BZOJ1037 [ZJOI2008]生日聚会Party 【DP】
1037: [ZJOI2008]生日聚会Party Time Limit: 10 Sec Memory Limit: 162 MB Submit: 2800 Solved: 1654 [Submi ...
- [Bzoj1037][ZJOI2008]生日聚会(DP)
Description 题目链接 Solution 这题状态比较难想, \(dp[i][j][g][h]\)表示强i个人有j个男生,在某个区间男生最多比女生多g人,女生最多比男生多h人的方案数,然后D ...
- BZOJ1037:[ZJOI2008]生日聚会Party(DP)
Description 今天是hidadz小朋友的生日,她邀请了许多朋友来参加她的生日party.hidadz带着朋友们来到花园中,打算坐成一排玩游戏. 为了游戏不至于无聊,就座的方案应满足如下条件: ...
- bzoj1037生日聚会——DP
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1037 记录每个状态时前面所有连续子序列中男生与女生差距的最大值,根据那个转移即可. 代码如下 ...
- 【bzoj1037】 ZJOI2008—生日聚会Party
http://www.lydsy.com/JudgeOnline/problem.php?id=1037 (题目链接) 题意 有n个boy和m个girl排成一排,求使得任意一段的boy个数girl个数 ...
- BZOJ 1911: [Apio2010]特别行动队 [斜率优化DP]
1911: [Apio2010]特别行动队 Time Limit: 4 Sec Memory Limit: 64 MBSubmit: 4142 Solved: 1964[Submit][Statu ...
- 2013 Asia Changsha Regional Contest---Josephina and RPG(DP)
题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=4800 Problem Description A role-playing game (RPG and ...
- AEAI DP V3.7.0 发布,开源综合应用开发平台
1 升级说明 AEAI DP 3.7版本是AEAI DP一个里程碑版本,基于JDK1.7开发,在本版本中新增支持Rest服务开发机制(默认支持WebService服务开发机制),且支持WS服务.RS ...
随机推荐
- jmeter动态获取jsessionid
思想是在一个线程组内添加一个cookie管理器,登录之后,用正则提取到sessionid,该线程组下的操作便可以共享这个session了. 1. 依次新建线程组.cookie管理器.http请求-登录 ...
- 玩转Node.js(四)-搭建简单的聊天室
玩转Node.js(四)-搭建简单的聊天室 Nodejs好久没有跟进了,最近想用它搞一个聊天室,然后便偶遇了socket.io这个东东,说是可以用它来简单的实现实时双向的基于事件的通讯机制.我便看了一 ...
- (原)MongoDB在系统中的使用
序)Nosql并不是要取代原有的数据产品,而是为不同的应用场景提供更多的选择. 一)结构类型 传统数据库的领域在于结构化文档,对于非结构化文档和半结构化文档,它能处理,但是有一定的缺陷,那么什么又是结 ...
- 正则匹配java多行注释
类似: /** * This method was generated by MyBatis Generator. * This method returns the value of the dat ...
- 怎么获取textarea中选中文字
textarea设置select="saveSelectionText()" //保存选中内容 saveSelectionText: function () { var focus ...
- 高中信息技术《算法与程序设计VB(选修)》知识要点
原博主: http://blog.sina.com.cn/buyanshibai [转载] (一)算法 1.定义 相关题解: 1算法:就是解决问题的方法和步骤.算法是程序设计的“灵魂”,算法+数据结构 ...
- 2017 Multi-University Training Contest - Team 3 RXD and dividing(树)
题解: 其实贪心地算就可以了 一个最优的分配就是每条边权贡献的值为min(k, sz[x]),sz[x]是指子树的大小 然后最后加起来就是答案. #include <iostream> # ...
- 后缀数组 模板题 hdu1403(最长公共(连续)子串)
好气啊,今天没有看懂后缀树和后缀自动机 只能写个后缀数组发泄一下了orz #include <cstdio> #include <cstring> *; int wa[N], ...
- 【BZOJ 3907】网格 组合数学
大家说他是卡特兰数,其实也不为过,一开始只是用卡特兰数来推这道题,一直没有怼出来,后来发现其实卡特兰数只不过是一种组合数学,我们可以退一步直接用组合数学来解决,这道题运用组合数的思想主要用到补集与几何 ...
- 实际上ECMAScript中并没有对类的定义
首先,我们用一个经典例子来简单阐述一下ECMAScript中的继承机制. 在几何学上,实质上几何形状只有两种,即椭圆形(是圆形的)和多边形(具有一定数量的边).圆是椭圆的一种,它只有一个焦点.三角形. ...