当前位置:网站首页>P2592 [zjoi2008] birthday party (DP)
P2592 [zjoi2008] birthday party (DP)
2022-07-01 16:40:00 【Harris-H】
P2592 [ZJOI2008] Birthday party (dp)
dp, The key is how to express the difference between men and women .
So set d p ( i , j , k , l ) dp(i,j,k,l) dp(i,j,k,l) To express with i i i A boy , j j j A girl , The biggest difference between boys and girls is k k k, The biggest difference between girls and boys is l l l.
Then enumerate the quadruple loop dp that will do , Enumerate the boys or girls currently playing .
Time complexity : O ( n m k 2 ) O(nmk^2) O(nmk2)
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cmath>
#include<cstring>
#include<string>
#include<algorithm>
#include<vector>
#include<map>
#include<set>
#include<list>
#include<queue>
#include<stack>
#include<bitset>
#include<deque>
#include<ctime>
using namespace std;
#define ll long long
#define inf 0x3f3f3f3f
#define ri register int
#define il inline
#define fi first
#define se second
#define mp make_pair
#define pairint pair<int,int>
#define mem0(x) memset((x),0,sizeof (x))
#define mem1(x) memset((x),0x3f,sizeof (x))
il char gc()
{
static const int BS = 1 << 22;
static unsigned char buf[BS], *st, *ed;
if (st == ed) ed = buf + fread(st = buf, 1, BS, stdin);
return st == ed ? EOF : *st++;
}
#define gc getchar
template<class T>void in(T &x)
{
x = 0;
bool f = 0;
char c = gc();
while (c < '0' || c > '9')
{
if (c == '-') f = 1;
c = gc();
}
while ('0' <= c && c <= '9')
{
x = (x << 3) + (x << 1) + (c ^ 48);
c = gc();
}
if (f) x = -x;
}
#undef gc
#define pb push_back
#define int ll
#define md 12345678
int n,m,d;
int f[155][155][22][22];
il int max(const int &a,const int &b)
{
return a>b?a:b;
}
signed main()
{
#ifdef M207
freopen("in.in", "r", stdin);
#endif
in(n),in(m),in(d);
f[0][0][0][0]=1;
for(ri i=0;i<=n;++i)
for(ri j=0;j<=m;++j)
for(ri k=0;k<=d;++k)
for(ri h=0;h<=d;++h)
if(f[i][j][k][h])
{
// printf("%lld %lld %lld %lld: %lld\n",i,j,k,h,f[i][j][k][h]);
int tmp=f[i][j][k][h];
(f[i+1][j][k+1][max(h-1,0)]+=tmp)%=md;
(f[i][j+1][max(k-1,0)][h+1]+=tmp)%=md;
}
int ans=0;
for(ri i=0;i<=d;++i)
for(ri j=0;j<=d;++j)
(ans+=f[n][m][i][j])%=md;
printf("%lld",ans);
return 0;
}
边栏推荐
- Building blocks for domestic databases, stonedb integrated real-time HTAP database is officially open source!
- 韩国AI团队抄袭震动学界!1个导师带51个学生,还是抄袭惯犯
- FPN network details
- Pico, do you want to save or bring consumer VR?
- IM即时通讯开发万人群聊消息投递方案
- 用手机在同花顺上开户靠谱吗?这样有没有什么安全隐患
- 博睿数据一体化智能可观测平台入选中国信通院2022年“云原生产品名录”
- 接口测试框架中的鉴权处理
- 模板引擎Velocity 基礎
- 【Hot100】20. 有效的括号
猜你喜欢

今天14:00 | 港大、北航、耶鲁、清华、加大等15位ICLR一作讲者精彩继续!

IM即時通訊開發實現心跳保活遇到的問題

China's intelligent transportation construction from the perspective of "one hour life circle" in Dawan District

Buuctf gold III

The Department came to a Post-00 test paper king who took out 25K. The veteran said it was really dry, but it had been

Learn selenium to simulate mouse operation, and you can be lazy a little bit

德国iF多项大奖加冕,这副耳机有多强?音珀GTW 270 Hybrid深度评测
![[nodemon] app crashed - waiting for file changes before starting...解决方法](/img/ee/9830afd86e092851a2a906cb994949.png)
[nodemon] app crashed - waiting for file changes before starting...解决方法

VMware 虛擬機啟動時出現故障:VMware Workstation 與 Hyper-v 不兼容...

Kali install Nessus
随机推荐
StoneDB 为国产数据库添砖加瓦,基于 MySQL 的一体化实时 HTAP 数据库正式开源!
Tutorial on principles and applications of database system (004) -- MySQL installation and configuration: resetting MySQL login password (Windows Environment)
Rhcsa Road
【直播预约】数据库OBCP认证全面升级公开课
【SQL语句】请问这边为什么select出了两个上海,查询出了不同的count我想让他变成一个上海,count只显示一个总和
你还在用收费的文档管理工具?我这有更牛逼的选择!完全免费
芯片供应转向过剩,中国芯片日产增加至10亿,国外芯片将更难受
Principle of SSM framework
从大湾区“1小时生活圈”看我国智慧交通建设
What is the digital transformation of manufacturing industry
瑞典公布决定排除华为5G设备,但是华为已成功找到新出路
Installation and use of sqoop
数据库系统原理与应用教程(004)—— MySQL 安装与配置:重置 MySQL 登录密码(windows 环境)
【每日一题】1175. 质数排列
P2893 [USACO08FEB] Making the Grade G(dp&优先队列)
圈铁发音,动感与无噪强强出彩,魔浪HIFIair蓝牙耳机测评
数据库系统原理与应用教程(005)—— yum 离线安装 MySQL5.7(Linux 环境)
【Hot100】20. 有效的括号
Go 语言错误处理为什么更推荐使用 pkg/errors 三方库?
IM即時通訊開發實現心跳保活遇到的問題