背包问题
怎么飞呀
这个作者很懒,什么都没留下…
展开
-
饭卡 HDU - 2546(0 1背包)
题目连接:https://vjudge.net/problem/18374/origin题目大意:杭电的饭卡很神奇, 只要余额>=5, 就可以买菜(可以透支,余额变成负数),余额少于5就不能买了,即使钱够了, 现给出n个菜价以及卡内余额m, 问你怎么买菜使余额最少。。。核心思想:就是01背包啦(本弱鸡一开始没想到啊) 少于5元就不能买, 那就使背包容量初始化成m-5, dp出该容量最多可以买多少菜原创 2017-03-28 17:22:01 · 458 阅读 · 0 评论 -
2017"百度之星"程序设计大赛 - 资格赛 度度熊与邪恶大魔王
题目链接http://bestcoder.hdu.edu.cn/contests/contest_showproblem.php?cid=774&pid=1003题目大意有n个怪, 每个怪都有血量ai和防御力bi, 你有m种技能, 每种技能有花费ki 和 伤害 pi 技能可以无限次释放 一个技能只能对一个怪物造成pi - bi点伤害 如果pi-bi<=0, 显然不能对怪物造成伤害, ai<=0原创 2017-08-06 16:57:20 · 326 阅读 · 0 评论 -
动态规划空间优化之滚动数组
动态规划本就是一个记录再利用的高效算法,由于其要记录之前的状态,必然会使用大量空间,要优化动态规划算法的空间,我们必然要合理利用dp数组,有一种优化方法就是利用滚动数组来进行状态转移。我们拿动态规划中一个典型例子01背包来举例问题描述:有N件物品和一个容量为V的背包。第i件物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使价值总和最大。当我们不进行优化的时候,我们可以定义如下...原创 2019-08-06 20:30:15 · 2990 阅读 · 1 评论