hdu4832Chess(dp)
这题第一想法是矩阵,不过范围太大了,然后就没有思路了。。
之后看到群里的解法,行和列可以分着走,两者是互不影响的,这样就把二维转换成了一维,直接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 ;
}
hdu4832Chess(dp)的更多相关文章
- BZOJ 1911: [Apio2010]特别行动队 [斜率优化DP]
1911: [Apio2010]特别行动队 Time Limit: 4 Sec Memory Limit: 64 MBSubmit: 4142 Solved: 1964[Submit][Statu ...
- 2013 Asia Changsha Regional Contest---Josephina and RPG(DP)
题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=4800 Problem Description A role-playing game (RPG and ...
- AEAI DP V3.7.0 发布,开源综合应用开发平台
1 升级说明 AEAI DP 3.7版本是AEAI DP一个里程碑版本,基于JDK1.7开发,在本版本中新增支持Rest服务开发机制(默认支持WebService服务开发机制),且支持WS服务.RS ...
- AEAI DP V3.6.0 升级说明,开源综合应用开发平台
AEAI DP综合应用开发平台是一款扩展开发工具,专门用于开发MIS类的Java Web应用,本次发版的AEAI DP_v3.6.0版本为AEAI DP _v3.5.0版本的升级版本,该产品现已开源并 ...
- BZOJ 1597: [Usaco2008 Mar]土地购买 [斜率优化DP]
1597: [Usaco2008 Mar]土地购买 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 4026 Solved: 1473[Submit] ...
- [斜率优化DP]【学习笔记】【更新中】
参考资料: 1.元旦集训的课件已经很好了 http://files.cnblogs.com/files/candy99/dp.pdf 2.http://www.cnblogs.com/MashiroS ...
- BZOJ 1010: [HNOI2008]玩具装箱toy [DP 斜率优化]
1010: [HNOI2008]玩具装箱toy Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 9812 Solved: 3978[Submit][St ...
- px、dp和sp,这些单位有什么区别?
DP 这个是最常用但也最难理解的尺寸单位.它与“像素密度”密切相关,所以 首先我们解释一下什么是像素密度.假设有一部手机,屏幕的物理尺寸为1.5英寸x2英寸,屏幕分辨率为240x320,则我们可以计算 ...
- android px转换为dip/dp
/** * 根据手机的分辨率从 dp 的单位 转成为 px(像素) */ public int dipTopx(Context context, float dpValue) { final floa ...
随机推荐
- 在Eclipse Java EE编译器中修改Web项目的发布名称
在工程目录上右键, 选properties, 弹出属性窗口, 选中Web Project Settings, 在右边的Context root中修改保存即可 死马当做活马医 在你的工程目录下找到.se ...
- SQLite多线程使用总结
SQLite支持3种线程模式: 单线程:这种模式下,没有进行互斥,多线程使用不安全.禁用所有的mutex锁,并发使用时会出错.当SQLite编译时加了SQLITE_THREADSAFE=0参数,或者在 ...
- Jmeter参数化_CSV Data Set Config
1. 在用函数助手进行参数化的时候遇到一个问题,每个线程组每次循环的时候读取的值都是一样的,为了解决这个问题,将函数助手替换为CSV_Data_Set_Config. 2. 添加配置元件csv dat ...
- java学习之super关键字
对于具有public或者protected属性的父类,其子类若想继承父亲的属性或者方法,那么需要用到super 实例:
- CISCO-配置SSH
PC直接连在交换机端口上,PC的ip地址是:192.168.1.1/24 在交换机的操作步骤如下: 1.设置交换机管理ip Switch#conf t Switch(config)#int vlan ...
- java实现EXCEL数据导入到数据库中的格式问题的解决
之前作为项目甲方,加之java接触不多,在java web开发方面都是打下手的份. 对于EXCEL数据导入到数据库这个问题一直老是出现格式原因而导入失败也是未免惆怅,开发团队也是只说回去检查一下格式. ...
- linux c++ 连接mysql 数据库
Mysql是数据库中的主流,因此我一直以为在Linux下配置会很很容易,结果Google了大半天,大部分网页只说了如何安装Mysql之类的废话,对如何使用C/C++连接Mysql却只字不提,或者提的方 ...
- java.io.FileNotFoundException:/mnt/sdcard/......(Permission denied)
今天在实现下载模块的时候,从服务器下载apk安装的时候总是不成功. 打开LogCat查看日志,发现在访问sdcard的时候出现Permission denied的情况. 百度之后发现原因是没有添加权限 ...
- POJ3261(后缀数组+2分枚举)
Milk Patterns Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 12972 Accepted: 5769 Ca ...
- Bean的基于注解的配置方式
Boss.class import javax.annotation.PostConstruct; import javax.annotation.PreDestroy; import javax.a ...