博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
洛谷 - P1987 - 摇钱树 - dp - 贪心
阅读量:5079 次
发布时间:2019-06-12

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

https://www.luogu.org/problemnew/show/P1987

这道题,假如是n==k,也就是把所有的树都砍完,我就知道要贪心去做,因为树给的初始金币是固定的,每天掉金币,当然是掉得越快的树先砍掉减少损失。但是假如树的金币不能掉成负数,分几种情况。

1.掉得快的树会先变成0,掉得慢的树不会先变0,(树A:3(-4),树B:3(-2),先A后B:4,先B后A:3)假如掉得快的树剩余的金币比掉得慢的树掉的数量少,那么先砍掉掉得慢的(树A:2(-5),树B:4(-3),先A后B:3,先B后A:4)

2.掉得慢的树会先变成0,掉得快的树不会先变0,先砍掉得快的,就算掉得慢的树因为没有足够的金币掉,只能让他的负面影响变小了,所以还是砍掉掉得快的。

所以这道题贪心的依据是什么?

 

这道题有问题。但是别人的代码是可以过的。


贪心的依据好像只是决定假如要把这些树砍掉的话砍的顺序应该是怎么样的,并不是真的按贪心的顺序去砍。意思是我可以不砍(留到掉完所有金币再砍)。又学到新东西了。

 

转载于:https://www.cnblogs.com/Yinku/p/10340015.html

你可能感兴趣的文章
Hibernate 的一级缓存和二级缓存总结
查看>>
DataForm 中用 RadionButton
查看>>
mysql数据类型
查看>>
JS截取,删除,替换字符串常用方法详细
查看>>
web属性设置编码类型 utf-8,GBK
查看>>
《BI那点儿事》Microsoft 时序算法——验证神奇的斐波那契数列
查看>>
Leetcode 54.螺旋矩阵
查看>>
阿里云使用分布式注意事项
查看>>
【转】Java ConcurrentModificationException异常原因和解决方法
查看>>
【转】模块编译Android源码方法
查看>>
tomcat部署
查看>>
Django初学笔记1.
查看>>
拓展gcd解不定线性方程ax+by=c模版
查看>>
nodejs中的formidable模块
查看>>
C/C++基础----表达式
查看>>
Linux下指定pip install和make install安装路径
查看>>
6.VC制作一个拾色器
查看>>
myBatis-一级缓存与二级缓存
查看>>
jiava语言的科学与艺术--好的编程风格
查看>>
URL中的空格字符如何编码
查看>>