bzoj1037生日聚会
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1037
任意区间的话,可以从所有后缀区间考虑。
因为每一个区间一定是某一时刻的一个后缀区间,所以只要每一时刻的后缀区间均合法,就行了。
当然有状态是几个男孩、几个女孩,还可以记录状态:最大的男孩减女孩的差 和 最大的女孩减男孩的差,这样就能转移了。
没错,只要关注后缀区间就行了!所以是max(0,u-1)而不是维持u不变!(当它是负数的时候就不用管了,因为已经且仅体现在另一维中)
#include<iostream>
#include<cstdio>
#include<cstring>
#define ll long long
using namespace std;
const int N=,K=;
const ll mod=;
int n,m,k;
ll dp[N][N][K][K],ans;
int main()
{
scanf("%d%d%d",&n,&m,&k);
dp[][][][]=;
for(int i=;i<=n;i++)
for(int j=;j<=m;j++)
for(int u=;u<=k;u++)
for(int v=;v<=k;v++)
{
(dp[i+][j][u+][max(,v-)]+=dp[i][j][u][v])%=mod;
(dp[i][j+][max(,u-)][v+]+=dp[i][j][u][v])%=mod;
}
for(int u=;u<=k;u++)for(int v=;v<=k;v++)(ans+=dp[n][m][u][v])%=mod;
printf("%lld",ans);
return ;
}
bzoj1037生日聚会的更多相关文章
- bzoj1037生日聚会——DP
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1037 记录每个状态时前面所有连续子序列中男生与女生差距的最大值,根据那个转移即可. 代码如下 ...
- [bzoj1037]生日聚会
dp,用f[i][j][x][y]表示i个男孩,j个女孩,以i+j为结尾的子序列男-女最多为x,女-男最多为y的合法方案数,转移到f[i+1][j][x+1][max(y-1,0)]和f[i][j+1 ...
- 【BZOJ1037】[ZJOI2008]生日聚会(动态规划)
[BZOJ1037][ZJOI2008]生日聚会(动态规划) 题面 BZOJ 洛谷 题解 假设前面的都合法,但是在加完当前的最后一个人之后变得不合法了,那么意味着一定有着一个后缀不合法.把男生看成\( ...
- 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 ...
- 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, ...
- BZOJ 1037: [ZJOI2008]生日聚会Party [序列DP]
1037: [ZJOI2008]生日聚会Party Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 2249 Solved: 1337[Submit] ...
- 生日聚会 BZOJ 1037
生日聚会 [问题描述] 今天是hidadz小朋友的生日,她邀请了许多朋友来参加她的生日party. hidadz带着朋友们来到花园中,打算坐成一排玩游戏.为了游戏不至于无聊,就座的方案应满足如下条件: ...
随机推荐
- source insight 4.0的基本使用方法(转)
源:source insight 4.0的基本使用方法 source insight 4设置
- php时间戳函数mktime()
在项目开发中,偶尔会遇到跨周期.跨月的的时间操作.PHP为我们提供了一个很方便的函数->mktime,可以很简单的获取制定日期的时间戳了. mktime(hour,minute,second,m ...
- MAC、MII、PHY的关系与区别
嗯,实验室的嵌入式项目需要写设备驱动,我分到了网络驱动的活,写一个适配SylixOS的(这里夸一句,这个真是国内相当不错的嵌入式实时操作系统了)MPC8377的网卡驱动,说实话原来从来没接触过写驱动的 ...
- duilib : 滑动显示的窗口实现以及 悬浮窗 (转载)
1. vc 判断窗口是否显示 BOOL IsWindowVisible(HWND hWnd); 2.悬浮窗 http://blog.csdn.net/lincyang/article/details ...
- shell判断文件,目录是否存在或者具有权限的代码
核心代码 #!/bin/sh myPath="/var/log/httpd/" myFile="/var /log/httpd/access.log" #这里的 ...
- [转]手机web HTML头信息解释和viewport meta标签解释
<meta charset="utf-8" /> <link rel="shortcut icon" href="favicon.i ...
- Android -- 图片处理, 画画板,缩放,旋转,平移,镜面,倒影,图片合成,颜色处理
1. 画画板 示例代码 public class MainActivity extends Activity { private ImageView iv; private Bitmap baseBi ...
- BZOJ 3930 【CQOI2015】 选数
题目链接:选数 这种SB题我都Wa飞了,彻底没救系列- 首先,我们可以发现1,如果我们选了两个不同的数,那么它们的\(\gcd\)不会超过\(r-l+1\).于是,我们可以设一个\(f_i\)表示任取 ...
- 语义化标签和media媒体查询可以放心使用
现在的高级浏览器都支持html5,只有IE6-IE8不支持.(下面说的IE均值IE6-IE8) 有两个特性在IE是可以使用的: 1.语义化标签: header(头部) section(区块) foot ...
- ddt中的data,unpack,file_data实现数据驱动--数据分离
ddt:Class decorator for subclasses of ``unittest.TestCase``. -----``unittest.testcase``子类的类修饰器. 首先介绍 ...