博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hdu 1267 下沙的沙子有几粒?(二维递推题)
阅读量:5057 次
发布时间:2019-06-12

本文共 916 字,大约阅读时间需要 3 分钟。

hdu 1267 下沙的沙子有几粒?(二维递推题)

题意:就是给你m个H和n个D,然后从左开始数H的累积个数总是不比D的累计数少的排列有多少种举一个测试案例吧:3个H和1个D总共有3种排列,依次是:H D H H,H H D H,H H  H D三种排列,亲~意思应该懂了吧?!呵呵。。。

思路:递推公式为:a[m][n]=a[m-1][n]+a[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种方案(其它的添加方法都是重复的,不信的话自己可以试一下)

1 #include 
2 #include
3 4 int main() 5 { 6 int n,m; 7 __int64 a[25][25];  //注意这种用法,虽然说相当于longlong,但换成longlong后就会WA...囧(前面有两条短横线) 8 int i,j; 9 memset(a,0,sizeof(a));10 for(i = 0; i<=20; i++)11 {12 a[i][0] = 1;13 }14 for(i = 1; i<=20; i++)15 {16 for(j = 1; j<=20; j++)17 {18 if(i

 

这种题现在的我还hold不住,递推公式给不出来就不会写.....T_T

 

转载于:https://www.cnblogs.com/xurenwen/p/3891059.html

你可能感兴趣的文章
javascript:二叉搜索树 实现
查看>>
网络爬虫Heritrix源码分析(一) 包介绍
查看>>
__int128的实现
查看>>
Problem - 1118B - Codeforces(Tanya and Candies)
查看>>
jdk1.8 api 下载
查看>>
svn 图标不显示
查看>>
getElement的几中属性介绍
查看>>
iOS 使用Quartz 2D画虚线 【转】
查看>>
平面最接近点对
查看>>
HTML列表,表格与媒体元素
查看>>
PHP、Java、Python、C、C++ 这几种编程语言都各有什么特点或优点?
查看>>
感谢青春
查看>>
Jquery Uploadify4.2 falsh 实现上传
查看>>
雨林木风 GHOST_XP SP3 快速装机版YN12.08
查看>>
linux基础-命令
查看>>
java对象的深浅克隆
查看>>
Hadoop流程---从tpch到hive
查看>>
数据结构3——浅谈zkw线段树
查看>>
Introduction to my galaxy engine 2: Depth of field
查看>>
V2019 Super DSP3 Odometer Correction Vehicle List
查看>>