hdu4832Chess(dp)
2024-10-21 07:50:58
这题第一想法是矩阵,不过范围太大了,然后就没有思路了。。
之后看到群里的解法,行和列可以分着走,两者是互不影响的,这样就把二维转换成了一维,直接dp求出就可以了。
然后再组合相乘一下。
#include <iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<stdlib.h>
#include<vector>
#include<cmath>
#include<queue>
#include<set>
using namespace std;
#define N 1010
#define LL __int64
#define INF 0xfffffff
#define mod 9999991
const double eps = 1e-;
const double pi = acos(-1.0);
const double inf = ~0u>>;
LL dp1[N][N],dp2[N][N];
LL o[][N];
LL c[N][N];
void init()
{
c[][] = ;
for(int i = ;i < ;i++)
{
c[i][] = c[i][i] = ;
for(int j = ; j < i;j++)
{
c[i][j] = c[i-][j] + c[i-][j-];
if(c[i][j] >= mod)
c[i][j] -= mod;
}
}
}
int main()
{
int n,m,t,k,x,y;
int i,j;
int kk = ;
init();
cin>>t;
while(t--)
{
memset(dp1,,sizeof(dp1));
memset(dp2,,sizeof(dp2));
memset(o,,sizeof(o));
scanf("%d%d%d%d%d",&n,&m,&k,&x,&y);
dp1[][x] = ;o[][]+=;
dp2[][y] = ;o[][]+=;
for(i = ;i <=k ;i++)
for(j = ; j <=n ;j++)
{
if(j>) dp1[i][j]=(dp1[i][j]+dp1[i-][j-])%mod;
dp1[i][j]+=dp1[i-][j-];dp1[i][j]%=mod;
dp1[i][j]+=dp1[i-][j+];dp1[i][j]%=mod;
dp1[i][j]+=dp1[i-][j+];dp1[i][j]%=mod;
o[][i]+=dp1[i][j];
o[][i]%=mod;
}
for(i = ; i <=k ;i++)
for(j = ; j <= m ;j++)
{
if(j>) dp2[i][j]+=dp2[i-][j-];dp2[i][j]%=mod;
dp2[i][j]+=dp2[i-][j-];dp2[i][j]%=mod;
dp2[i][j]+=dp2[i-][j+];dp2[i][j]%=mod;
dp2[i][j]+=dp2[i-][j+];dp2[i][j]%=mod;
o[][i]+=dp2[i][j];
o[][i]%=mod;
} LL ans=;
for(i = ; i <= k; i++)
{
ans =(ans+c[k][i]*o[][i]%mod*o[][k-i]%mod)%mod;
}
printf("Case #%d:\n",++kk);
cout<<ans<<endl;
}
return ;
}
最新文章
- SAP Fiori和UI5的初学者导航
- JSON简介
- TCP聊天工具
- CodeForces - 417B (思维题)
- linux apache httpd安装(安装全部modules)
- 完全用xml实现imageview点击换一张图片
- Masonry等比缩放
- C/C++:多个.cpp文件包括同一个.h头文件定义方法
- 关与 Visual.Assist.X.V10.7.1912的Crack破解补丁(vs 番茄插件的key破解方法)
- UI设计学习路径(一个)—好酒也怕巷子深
- 百度地图api写在html上可以实现,在jsp上会出现Bmap未定义的问题
- 关于MyEclipse6.5 总是弹出 Update Progress(xx-xx-xx时间)的问题
- 用 k8s 管理机密信息 - 每天5分钟玩转 Docker 容器技术(155)
- AndroidVerifyBoot
- 对DB2常见错误的列举以及破解方案
- Xamarin打包
- linux配置gitlab步骤
- zip文件解压工具类
- xvfb-run: error: xauth command not found 解决方式
- iftop网络流量查看工具