http://www.lydsy.com/JudgeOnline/problem.php?id=1037

题意:

思路:

四维数组进行dp,dp[i][j][a][b]表示进行到第i个座位时已经有j个男生了,并且此时男-女的最大值为a,女-男的最大值为b。(这个最大值是由新增的座位后往前计算而得)

 #include<iostream>
#include<algorithm>
#include<cstring>
#include<cstdio>
#include<vector>
#include<stack>
#include<queue>
#include<cmath>
#include<map>
#include<set>
using namespace std;
typedef long long ll;
typedef pair<int,int> pll;
const int INF = 0x3f3f3f3f;
const int maxn = +; int n, m, k;
int dp[maxn][][][]; int main()
{
//freopen("in.txt","r",stdin);
scanf("%d%d%d",&n,&m,&k);
dp[][][][]=;
for(int i=;i<n+m;i++)
{
for(int j=;j<=n;j++)
{
for(int a=;a<=k;a++)
{
for(int b=;b<=k;b++)
{
if(a+<=k && j+<=n)
dp[i+][j+][a+][max(b-,)]=(dp[i+][j+][a+][max(b-,)] + dp[i][j][a][b])%;
if(b+<=k && i-j+<=m)
dp[i+][j][max(a-,)][b+]=(dp[i+][j][max(a-,)][b+] + dp[i][j][a][b])%;
}
}
}
}
int ans = ;
for(int a=;a<=k;a++)
{
for(int b=;b<=k;b++)
{
ans+=dp[n+m][n][a][b];
ans%=;
}
}
printf("%d\n",ans);
return ;
}

BZOJ 1037: [ZJOI2008]生日聚会Party(区间dp)的更多相关文章

  1. BZOJ 1037: [ZJOI2008]生日聚会Party [序列DP]

    1037: [ZJOI2008]生日聚会Party Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 2249  Solved: 1337[Submit] ...

  2. BZOJ 1037: [ZJOI2008]生日聚会Party 四维DP

    1037: [ZJOI2008]生日聚会Party Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 1650  Solved: 971[Submit][ ...

  3. bzoj 1037 [ZJOI2008]生日聚会Party(DP)

    [题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=1037 [题意] 一排n男m女,求满足任意连续段男女人数之差不超过k的数目. [思路] ...

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

    dp,但是要顺推容易点 const mm=; var f:..,..,..,..]of longint; n,m,kk,now,sum,i,j,k1,k2:longint; function max( ...

  5. 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, ...

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

    1037: [ZJOI2008]生日聚会Party Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 1583  Solved: 936[Submit][ ...

  7. BZOJ 1037 [ZJOI2008]生日聚会Party(单调DP)

    [题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=1037 [题目大意] 现在有n个男生,m个女生排成一行,要求不存在一个区间男女之差大于k ...

  8. [BZOJ] 1037 [ZJOI2008]生日聚会

    Time Limit: 10 Sec Memory Limit: 162 MB Submit: 3007 Solved: 1795 [Submit][Status][Discuss] Descript ...

  9. BZOJ1037 [ZJOI2008]生日聚会Party 【DP】

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

随机推荐

  1. DataBase(28)

    1.数据库管理系统(DataBase Management System,DBMS):指一种操作和管理数据库的大型软件,用于建立.使用和维护数据库,对数据库进行统一管理和控制,以保证数据库的安全性和完 ...

  2. Google Analytics for Firebase 是一款免费的应用评估解决方案,可提供关于应用使用和用户互动情况的数据分析

    Google Analytics for Firebase Google Analytics for Firebase 是一款免费的应用评估解决方案,可提供关于应用使用和用户互动情况的数据分析.Fir ...

  3. Servlet上传下载

    下面是一个jsp页面(method和enctype必须要有) //页面<form action="file?file=upLoadByjs" method="pos ...

  4. linux+apache+nginx实现,反向代理动静分离

    在我们开发的过程中,一定会遇到,负载均衡方面的问题.下面我们,做一个小例子:使用nginx+apache实现反向代理,动静分离. 这里apache.php.nginx的安装就不做赘述了,不懂的朋友可以 ...

  5. Python-OpenCV基本操作cv2

    1.图片加载.显示和保存 import cv2 # 生成图片 img = cv2.imread("1.jpg") # 生成灰色图片 imgGrey = cv2.imread(&qu ...

  6. Docker学习笔记之在 Windows 和 Mac 中使用 Docker

    0x00 概述 对于开发来说,Windows 和 macOS 是更为常见和常用的系统,所以也很有必要了解在 Windows 和 macOS 中使用 Docker 的方法.很幸运的是,Docker 的官 ...

  7. String类的知识点(不断更新)

    知识点1.String类位于java.lang包中,具有丰富的方法计算字符串的长度.比较字符串.连接字符串.提取字符串2.数组的length是属性,字符串的length()是方法3.import ja ...

  8. VC++使用MapFileAndCheckSum完成自检测

    转载:https://blog.csdn.net/lekonpeng/article/details/4150464 当我们完成一个工程,编译成可执行文件后,一般是不希望这个可执行文件被人改动的,那么 ...

  9. Jbarcode 条形码生成工具

    一.准备jar包 https://sourceforge.net/projects/jbcode/?source=typ_redirect 二.编写工具类 package com.example.de ...

  10. selenium css定位方式