hdu1267(递推)

博客探讨了hdu1267题目,涉及如何排列H和D,使从左到右扫描时H始终不小于D。通过动态规划方法,解析了递推公式dp[i][j]=dp[i-1][j]+dp[i][j-1](i>=j),并举例说明了计算过程,强调了初始化条件dp[i][0]=1的重要性。
摘要由CSDN通过智能技术生成

题目链接:下沙的沙粒

题目大意:给出m个H和n个D,要求排列满足从左到右扫过该排列,使得H的总是不小于D的总是,求出排列的总数

题目分析:

假设在第i+j位置处有i个H和j个D,则dp[i][j]=dp[i-1][j]+dp[i][j-1](i>=j)

eg

假设由3个H和2个D

dp[3][2]=dp[2][2]+dp[3][1]

dp[2][2]的轻快为HHDD和HDHD,在其后面加一个H满足

dp[3][1]为HDHH,HHDH和HHHD,在后面加一个D满足


注意初始化,当j=0时,dp[i][0]都为1,即H,HH

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值