洛谷2501 BZOJ1801中国象棋题解
题目链接
BZ链接
其实dp只要把状态想好后转移就很好写了(flag*1)
f[i][j][k]表示到了第i行,有j列放了一个跑,有k列放了两个跑的方案总数
然后大力讨论,转移即可
# include<iostream> # include<cstdio> # include<algorithm> # include<cmath> # include<cstring> const int mn = 105; const int mod = 9999973; int n,m,ans; int f[mn][mn][mn]; int main() {scanf("%d%d",&n,&m);f[0][0][0]=1;for(int i=0;i<n;i++)for(int j=0;j<=m;j++)for(int k=0;k+j<=m;k++){f[i+1][j][k]=(f[i+1][j][k]+f[i][j][k])%mod;//什么都不放if(j>=1)f[i+1][j-1][k+1]=(f[i+1][j-1][k+1]+1ll*f[i][j][k]*j%mod)%mod;//在有跑的一行放一个跑if((m-k-j)>=1)f[i+1][j+1][k]=(f[i+1][j+1][k]+1ll*f[i][j][k]*(m-k-j)%mod)%mod;//在空地上放一个跑if(j>=2)f[i+1][j-2][k+2]=(f[i+1][j-2][k+2]+1ll*f[i][j][k]*(j-1)*j/2%mod)%mod;if((m-k-j)>=2)f[i+1][j+2][k]=(f[i+1][j+2][k]+1ll*f[i][j][k]*(m-k-j-1)*(m-k-j)/2%mod)%mod;if((m-k-j)>=1 && j>=1)f[i+1][j][k+1]=(f[i+1][j][k+1]+1ll*f[i][j][k]*(m-k-j)*j%mod)%mod;}for(int i=0;i<=m;i++)for(int j=0;j+i<=m;j++)ans=(ans+f[n][i][j])%mod;printf("%d",ans);return 0; }
转载于:https://www.cnblogs.com/logeadd/p/9511068.html
洛谷2501 BZOJ1801中国象棋题解相关推荐
- 洛谷 P2051 [AHOI2009]中国象棋 状态压缩思想DP
P2051 [AHOI2009]中国象棋 题意: 给定一个n*m的空棋盘,问合法放置任意多个炮有多少种情况.合法放置的意思是棋子炮不会相互打到. 思路: 这道题我们可以发现因为炮是隔一个棋子可以打出去 ...
- 洛谷2051 [AHOI2009]中国象棋
题目链接 题意概述:n行m列棋盘放若干个棋子每行每列最多两个求方案总数,答案对9999973取模. 可以比较容易看出这是个dp,设f[i][j][k]表示前i行j列放1个棋子k列放2个棋子的方案总数. ...
- 洛谷 - P2051 [AHOI2009]中国象棋(计数dp)
题目链接:点击查看 题目大意:给出一个 n * m 的棋盘,可以在任意位置放置 "炮",问一共可以放置多少种可行的方案 题目分析:转换题意,就是问每一行.每一列至多有两个棋子的方案 ...
- 洛谷P1129 [ZJOI2007] 矩阵游戏 题解
洛谷P1129 [ZJOI2007] 矩阵游戏 题解 题目链接:P1129 [ZJOI2007] 矩阵游戏 题意:给定一张有黑白棋子的正方形棋盘,问存不存在解法使得经过若干次交换行或列的操作后,左上角 ...
- 洛谷P3336 [ZJOI2013]话旧 题解
洛谷P3336 [ZJOI2013]话旧 题解 题目链接:P3336 [ZJOI2013]话旧 题意:小林跟着银河队选手去了一趟宇宙比赛,耳濡目染,变得学术起来.回来后,他发现世界大变样了.比丘兽究级 ...
- 洛谷P4683 [IOI2008] Type Printer 题解
洛谷P4683 [IOI2008] Type Printer 题解 题目链接:P4683 [IOI2008] Type Printer 题意: 你需要利用一台可移动的打印机打印出NNN个单词.这种可移 ...
- 洛谷P3647 [APIO2014] 连珠线 题解
洛谷P3647 [APIO2014] 连珠线 题解 题目链接:P3647 [APIO2014] 连珠线 题意: 在达芬奇时代,有一个流行的儿童游戏称为连珠线.当然,这个游戏是关于珠子和线的.线是红色或 ...
- 洛谷P4170 [CQOI2007]涂色 题解
洛谷P4170 [CQOI2007]涂色 题解 题目链接:P4170 [CQOI2007]涂色 题意: 假设你有一条长度为 555 的木板,初始时没有涂过任何颜色.你希望把它的 555 个单位长度分别 ...
- 洛谷P1868 饥饿的奶牛 题解
洛谷P1868 饥饿的奶牛 题解 题目链接:P1868 饥饿的奶牛 题意: 有一条奶牛冲出了围栏,来到了一处圣地(对于奶牛来说),上面用牛语写着一段文字. 现用汉语翻译为: 有 NNN 个区间,每个区 ...
- 洛谷P1462 通往奥格瑞玛的道路 题解
洛谷P1462 通往奥格瑞玛的道路 题解 题目链接:P1462 通往奥格瑞玛的道路 题意:在艾泽拉斯,有 nnn 个城市.编号为 1,2,3,-,n1,2,3,\ldots,n1,2,3,-,n . ...
最新文章
- 什么事孤儿进程和僵死进程?
- 一句话理解tf.identity的含义
- Android官方开发文档Training系列课程中文版:构建第一款安卓应用之创建用户界面
- Windows Mobile中的WebService应用
- php正则表达式 包含特殊字符,php正则表达式的特殊字符含义
- dockhub 好用的镜像_玩转docker镜像和镜像构建
- android之monkey测试
- 关于FTP服务器出现227 Entering Passive Mode错误的解决思路
- phython ji
- 自动化测试的三种测试报告模板
- java达内小发猫课程,详细说明
- php毕业论文致谢,毕业论文致谢词范文
- 谷歌EfficientNet高效卷积网络的学习和使用
- android 播放多个音频文件,android – 如何同时播放多个ogg或mp3 ..?
- Solidity介绍
- __call__()
- abs传感器电压有几伏电_汽车ABS转速传感器工作电压测量方法
- 【项目】游戏开发期末大作业 之 基于Java的小游戏 “大鱼吃小鱼“ (代码素材齐全)
- 如何用python处理excel简单考勤统计_excel怎么通过打卡记录简单统计考勤?
- 活字格对接RF手持机与ERP系统,帮助RFID快速盘点方案落地
热门文章
- html_头部meta设置
- LocalBroadcastManager 的实现原理,还是 Binder?
- 某中介无线组网及***接入应用案例
- Android 桌面组件【widget】初探
- python独一无二的路_独一无二的Python基础学习——可用作面试
- php输出mysql查返回行_php-MySQL简单查询返回零行
- python开根号函数图像_使用matplotlib / python的平方根刻度
- dll模块化设计与编程_PLC模块、结构化编程到底强在哪里?
- python支持向量机回归_Python机器学习之支持向量机——非线性SVC
- html 定位_定位position