Time Limit: 10 Sec  Memory Limit: 128 MB
Submit: 464  Solved: 243
[Submit][Status][Discuss]

Description

众所周知,双炮叠叠将是中国象棋中很厉害的一招必杀技。炮吃子时必须隔一个棋子跳吃,即俗称"炮打隔子"。 
炮跟炮显然不能在一起打起来,于是rly一天借来了许多许多的炮在棋盘上摆了起来……他想知道,在N×M的矩形
方格中摆若干炮(可以不摆)使其互不吃到的情况下方案数有几种。
棋子都是相同的。

Input

一行,两个正整数N和M。
N<=100,M<=100

Output

一行,输出方案数mod 999983。

Sample Input

1 3

Sample Output

7

HINT

 

Source

By FancyCoder

 //2017-08-03
#include <cstdio>
#include <iostream>
#include <cstring>
#include <algorithm> const int N = ;
const int MOD = ;
int n, m;
long long dp[N][N][N];//dp[i][j][k]表示处理到第i行,一列上有0个炮的列数j,一列上有1个炮的列数k的方案数。 inline long long cal(int a, int b)
{
return b == ? a : (1LL * a * (a - ) / ) % MOD;
} int main()
{
while (scanf("%d%d", &n, &m)!=EOF)
{
memset(dp, , sizeof(dp));
long long ans = ;
dp[][m][] = ;
for (int i = ; i < n; ++i)
for (int j = ; j <= m; ++j)
for (int k = ; k <= m; ++k)
if (dp[i][j][k])
{
(dp[i + ][j][k] += dp[i][j][k]) %= MOD;
if (j > )
(dp[i + ][j - ][k + ] += dp[i][j][k] * cal(j, )) %= MOD;
if (j > )
(dp[i + ][j - ][k + ] += dp[i][j][k] * cal(j, )) %= MOD;
if (j > )
(dp[i + ][j - ][k] += dp[i][j][k] * cal(j, ) % MOD * cal(k, )) %= MOD;
if (k > )
(dp[i + ][j][k - ] += dp[i][j][k] * cal(k, )) %= MOD;
if (k > )
(dp[i + ][j][k - ] += dp[i][j][k] * cal(k, )) %= MOD;
}
for (int i = ; i <= m; ++i)
for (int j = ; j <= m; ++j)
ans = (ans + dp[n][i][j]) % MOD;
printf("%lld\n", ans);
}
}

BZOJ4806(SummerTrainingDay03-K dp)的更多相关文章

  1. HDU 4283 (第k个出场 区间DP)

    http://blog.csdn.net/acm_cxlove/article/details/7964594 http://www.tuicool.com/articles/jyaQ7n http: ...

  2. HDU 4352 区间的有多少个数字满足数字的每一位上的数组成的最长递增子序列为K(数位DP+LIS)

    题目:区间的有多少个数字满足数字的每一位上的数组成的最长递增子序列为K 思路:用dp[i][state][j]表示到第i位状态为state,最长上升序列的长度为k的方案数.那么只要模拟nlogn写法的 ...

  3. CF #610Div2 B2.K for the Price of One (Hard Version) (dp解法 && 贪心解法)

    原题链接:http://codeforces.com/contest/1282/problem/B2题目大意:刚开始有 p 块钱,商店有 n 件物品,你每次可以只买一件付那一件的钱,也可以买 k 件只 ...

  4. K - Painful Bases 状压dp

    Painful Bases LightOJ - 1021 这个题目一开始看,感觉有点像数位dp,但是因为是最多有16进制,因为限制了每一个数字都不同最多就有16个数. 所以可以用状压dp,看网上题解是 ...

  5. Java实现 LeetCode 787 K 站中转内最便宜的航班(两种DP)

    787. K 站中转内最便宜的航班 有 n 个城市通过 m 个航班连接.每个航班都从城市 u 开始,以价格 w 抵达 v. 现在给定所有的城市和航班,以及出发城市 src 和目的地 dst,你的任务是 ...

  6. Codeforces Round #544 (Div. 3) E. K Balanced Teams (DP)

    题意:有\(n\)个人,每个人的能力值是\(a_i\),现在你想将这些人分成\(k\)组(没必要全选),但是每组中最高水平和最低水平的人的能力差值必须\(\le 5\),问最多能选多少人. 题解:想了 ...

  7. P2188 小Z的 k 紧凑数 题解(数位DP)

    题目链接 小Z的 k 紧凑数 解题思路 数位DP,把每一个数位的每一个数对应的可能性表示出来,然后求\(num(1,r)-num(1,l-1)\),其中\(num(i,j)\)表示\([i,j]\)区 ...

  8. 【BZOJ-4197】寿司晚宴 状压DP

    4197: [Noi2015]寿司晚宴 Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 694  Solved: 440[Submit][Status] ...

  9. HDU 5945 / BestCoder Round #89 1002 Fxx and game 单调队列优化DP

    Fxx and game 问题描述   青年理论计算机科学家Fxx给的学生设计了一款数字游戏. 一开始你将会得到一个数\:XX,每次游戏将给定两个参数\:k,tk,t, 任意时刻你可以对你的数执行下面 ...

随机推荐

  1. 《Python黑帽子:黑客与渗透测试编程之道》 Windows系统提权

    环境准备: pywin32的安装在第八章的键盘记录中有,这里还需要安装wmi: 在本人的32位win7上本来是没有easy_install这个命令的,这需要安装setuptools-0.6c11.wi ...

  2. iOS开发-带Placeholder的UITextView实现

    iOS中UITextField带有PlaceHolder属性,可以方便用于提示输入.但是同样可以进行文本输入的UITextView控件则没有PlaceHolder属性,还是有些不方便的,尤其是对于略带 ...

  3. javascript数据结构与算法---检索算法(顺序查找、最大最小值、自组织查询)

    javascript数据结构与算法---检索算法(顺序查找.最大最小值.自组织查询) 一.顺序查找法 /* * 顺序查找法 * * 顺序查找法只要从列表的第一个元素开始循环,然后逐个与要查找的数据进行 ...

  4. android开发学习——day7

    线性布局 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android ...

  5. 打印页面时a标签不显示URL的方法

    以前写博客啊,总想写一篇大作,然后希望能挂到博客园首页,隔一会儿看看阅读量有多少.其实哪有那么多大作,大部分时间都是解决了一个小问题,然后需要记录一下.比如下面这篇. 今天遇到一个需求是,打印网页时, ...

  6. NSLog()输出函数集格式字符

    nslog()强大的功能这里就不多说了,笔者从c#转过来,难免会有些陌生.在c#中用format("{0}",xx}来进行占位,下面就来讲讲在oc中的格式字符; d:带符号的十进制 ...

  7. GO入门——5. 函数

    1 函数 Go 函数 不支持 嵌套.重载和默认参数 定义函数使用关键字 func,且左大括号不能另起一行 函数也可以作为一种类型使用 无需声明原型 不定长度变参 func A(a string,c . ...

  8. 第三方登录:微信扫码登录(OAuth2.0)

    1.OAuth2.0 OAuth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用. 允许用户提供 ...

  9. map的容量的获取

    在go语言中,有两个内建函数分别是len(),cap(),前者用于获取容器的具体内容个数,后者用于获取容器分配的容量大小,但是这个cap对象是不能获取到map具体分配的容量大小的.有没有办法获取到呢, ...

  10. solr(三) : 导入数据库表数据

    solr 除了能查询文档中的数据外, 还可以导入数据库中的数据. 也就是说, solr 能查询其他数据库中的数据(solr本身也是一个数据库, 非关系型的). 那接下来就试一下导入mysql数据库中的 ...