题意:m个H和n个D,从左開始数H的累积个数总不比D的累计数少的排列有多少种。比如,3个H和1个D共同拥有3种符合要求的排列H D H H,H H D H,H H H D。
分析:状态方程为,DP[m][n]=DP[m-1][n]+DP[m][n-1]。
另外当n=0的时候不管m怎样取值都是1。
理解:如果3个H和2个D是由2个H和2个D还有3个H一个D推来的,2个H和2个D共同拥有H D H D。H H D D两种排列,3个H和一个D总共同拥有H D H H,H H D H,H H H D三种排列,然后在H D H D,H H D D的后面加入一个H就是2中排列,在H D H H,H H D H,H H H D的后面加入一个D就有3种方案,所以总共就是5种方案。其它均为反复。
注意:m<n的话排列的情况不存在,则为0。
#include<iostream>
using namespace std; int main()
{
__int64 a[21][21];
int m,n,i,j; memset(a,0,sizeof(a));
for(i=1;i<=20;i++) //当n为0的时候不管m怎样取何值都是1
a[i][0]=1; for(i=1;i<=20;i++)
for(j=i;j<=20;j++)
a[j][i]=a[j-1][i]+a[j][i-1]; while(cin>>m>>n)
{
printf("%I64d\n",a[m][n]);
}
return 0;
}
HDU ACM 1267 下沙的沙子有几粒?->DP的更多相关文章
-
hdu 1267 下沙的沙子有几粒? (递推)
下沙的沙子有几粒? Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total S ...
-
HDU——1267 下沙的沙子有几粒?
下沙的沙子有几粒? Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total ...
-
HDU 1267 下沙的沙子有几粒?
题解:利用卡特兰数的几何意义,题目就可以转化为一个棋盘格,可以向下走或是向右走,但是不可以逾越对角线,就可以了. #include <cstdio> #include <iostre ...
-
HDU1267 下沙的沙子有几粒? 基础DP
题目链接 题意:给定m个H和n个D(1<=n,m<=20),问这些字母构成的序列中,对于任意位置,从左开始数H的累积个数总是不比D的累计数少的排列有多少种. 题解:二维DP,画一个正方形, ...
-
hdu 1292 &;quot;下沙野骆驼&;quot;ACM夏令营 (递推)
"下沙野骆驼"ACM夏令营 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/ ...
-
hdu acm 1028 数字拆分Ignatius and the Princess III
Ignatius and the Princess III Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K ...
-
hdu1527下沙小面的(二)
B - 下沙小面的(2) Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Submit ...
-
C - 下沙小面的(2)
C – 下沙小面的(2)Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64uSubmit StatusDes ...
-
【起】ACM类下为过往所做过的部分算法题目
[起]ACM类下为过往所做过的部分算法题目 几百道题,日后细细品味.
随机推荐
-
No.23
腓利比书3:19:"他们的结局就是沉沦,他们的神就是自己的肚腹,他们以自己的羞辱为荣耀,专以地上的事为念". 谨记!
-
《JavaScript DOM编程艺术(第二版)》读书总结
这本书是一本很基础的书,但对于刚入前端不久的我来说是一本不错的书,收获还是很大的,对一些基础的东西理解得更加透彻了. 1.DOM即document object model的缩写,文档对象模型,Jav ...
-
js-倒计时自动隐藏
<!doctype html><html><head><meta charset="utf-8"><title>无标题文 ...
-
复选框,:checked
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
-
CXF详细介绍
首先介绍下CXF的拦截器:简单地说,CXF使用流水线型(或者说总线型)处理机制,它的核心是一个Bus.一个客户端的请求或者一个对客户端桩代码的调用被组织成为一个Message.同时,所有的CXF功能都 ...
-
JavaScript中对象数组 作业
var BaiduUsers = [], WechatUsers = []; var User = function(id, name, phone, gender, age, salary) { t ...
-
Java 执行Shell脚本指令
一.介绍 有时候我们在Linux中运行Java程序时,需要调用一些Shell命令和脚本.而Runtime.getRuntime().exec()方法给我们提供了这个功能,而且Runtime.getRu ...
-
Docker 以 docker 方式运行 jenkins
https://testerhome.com/topics/5798 Docker 以 docker 方式运行 jenkins jmcn · 2016年08月26日 · 最后由 blueshark 回 ...
-
Nginx 实现负载均衡
.安装nginx和tomcat 我这里是使用docker安装的.安装流程可参照 dockerfile 这里安装了两个tomcat,端口分别是42000和42001.第二个tomcat的首页随便加了些代 ...
-
Java之数据流-复制二进制文件
package test_demo.fileoper; import java.io.*; /* * 数值字节流操作,复制二进制文件 * 输入流:从文件中读取数据,扩展为数据流(二进制) * 输出流: ...