当前位置:网站首页>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;
}
边栏推荐
- Kali install Nessus
- Why is the pkg/errors tripartite library more recommended for go language error handling?
- 【观察】数字化时代的咨询往何处走?软通咨询的思与行
- Go 语言怎么使用对称加密?
- 【Kotlin】高阶函数介绍
- 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
- Défaillance lors du démarrage de la machine virtuelle VMware: le poste de travail VMware n'est pas compatible avec hyper - V...
- 运动捕捉系统原理
- Submission lottery - light application server essay solicitation activity (may) award announcement
- Tutorial on the principle and application of database system (001) -- MySQL installation and configuration: installation of MySQL software (Windows Environment)
猜你喜欢

The sharp drop in electricity consumption in Guangdong shows that the substitution of high-tech industries for high-energy consumption industries has achieved preliminary results

免费抽奖 | 《阿巴豆》探索未来系列盲盒数字版权作品全网首发!

瑞典公布决定排除华为5G设备,但是华为已成功找到新出路

【flask入门系列】Cookie与Session

运动捕捉系统原理

【Hot100】20. Valid parentheses

How to use MySQL language for row and column devices?

OJ questions related to complexity (leetcode, C language, complexity, vanishing numbers, rotating array)

普通二本,去过阿里外包,到现在年薪40W+的高级测试工程师,我的两年转行心酸经历...

How to restore the system with one click on Lenovo laptop
随机推荐
IM即时通讯开发实现心跳保活遇到的问题
Rhcsa Road
Rhcsa Road
Ring iron pronunciation, dynamic and noiseless, strong and brilliant, magic wave hifiair Bluetooth headset evaluation
为国产数据库添砖加瓦,StoneDB 一体化实时 HTAP 数据库正式开源!
红队第10篇:coldfusion反序列化过waf改exp拿靶标的艰难过程
Example of vim user automatic command
VMware 虚拟机启动时出现故障:VMware Workstation 与 Hyper-v 不兼容...
What are the differences between PHP and DW
韩国AI团队抄袭震动学界!1个导师带51个学生,还是抄袭惯犯
Go language source level debugger delve
Activity的生命周期和启动模式详解
sql刷题627. 变更性别
Go 语言怎么优化重复的 if err != nil 样板代码?
Submission lottery - light application server essay solicitation activity (may) award announcement
嗨 FUN 一夏,与 StarRocks 一起玩转 SQL Planner!
毕业季 | 华为专家亲授面试秘诀:如何拿到大厂高薪offer?
Talking from mlperf: how to lead the next wave of AI accelerator
Im instant messaging develops a message delivery scheme for 10000 people
独家消息:阿里云悄然推出RPA云电脑,已与多家RPA厂商开放合作