牛客网总结:动态规划

目录

重要资料

C++面试题系列

牛客力扣

NC121:字符串的排列

华为机试

HJ16:购物单

HJ24合唱队

HJ61放苹果???


重要资料

dd大牛的《背包九讲》

算法萌新如何学好动态规划(3)

动态规划之背包问题系列

C++面试题系列

C++面试题系列290题

计算字符串相似度 

牛客力扣

NC121:字符串的排列

字符串的排列和组合问题

https://blog.csdn.net/lr604844811/article/details/99710445

NC126_换钱最少货币数

NC116_把数字翻译成字符串

华为机试

HJ16:购物单

有依赖的背包问题,参考http://blog.csdn.net/liang5630/article/details/8030108

小数据的有依赖背包问题,可以直接转为分组背包问题。(搜“背包九讲完整版.PDF”有详细讲解)

0-19分钟

Dd大牛的背包九讲

https://blog.csdn.net/u014046022/article/details/80646379

https://www.cnblogs.com/jbelial/articles/2116074.html

HJ24合唱队

首先计算每个数在最大递增子串中的位置
186  186  150  200  160  130  197 200   quene
1     1    1    2    2    1   3     4       递增计数
然后计算每个数在反向最大递减子串中的位置--->计算反向后每个数在最大递增子串中的位置
200  197  130  160  200  150  186  186   反向quene
1     1     1   2     3   2    3    3      递减计数
然后将每个数的递增计数和递减计数相加
186  186  150  200  160  130  197 200   quene
1     1    1    2    2    1    3   4       递增计数
3     3    2    3    2    1    1   1       递减计数
4     4    3    5    4    2    4   5       每个数在所在队列的人数+1(自己在递增和递减中被重复计算)

如160这个数,
在递增队列中有2个人数
150  160
在递减队列中有2个人数
160  130
那么160所在队列中就有3个人
150  160  130
每个数的所在队列人数表达就是这个意思
总人数 - 该数所在队列人数 = 需要出队的人数

HJ61放苹果???

	 * 放置苹果的方法数
	 * 算法思想:放苹果有两种情况,一种是有盘子为空,一种是每个盘子中都有苹果
	 * 令(m,n)表示将m个苹果放入n个盘子中的摆放方法总数
	 * 1.假设有1个盘子为空,则(m,n)问题转化为将m个苹果放在n-1个盘子上,即求得(m,n-1)
	 * 2.假设所有的盘子都装有苹果,则每个盘子上至少有一个苹果,即还剩下m-n个苹果,
	 *   问题转化为将m-n个苹果放到n个盘子上的摆放方法总数,即(m-n,n)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

haimianjie2012

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值