算法竞赛进阶指南(简略笔记)
文章平均质量分 85
1
云养猫v2
这个作者很懒,什么都没留下…
展开
-
0、1背包问题 完全背包
给定 n 件物品,物品的重量为 weight[i],物品的价值为value[i]。现挑选物品放入背包中,假定背包能承受的最大重量为 V,问应该如何选择装入背包中的物品,使得装入背包中物品的总价值最大?https://www.cnblogs.com/kkbill/p/12081172.htmlhttps://labuladong.github.io/ebook/%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92%E7%B3%BB%E5%88%97/%E8%83%8C%E5%8C%85原创 2020-08-06 10:12:15 · 113 阅读 · 0 评论 -
算法竞赛进阶指南-基本算法
lowbit(n)定义为非负整数n在二进制表示下“最低位的1及其后边所有的0”构成的数值。例如n=10的二进制表示为1010,则lowbit(n) = 2 = ‘10’,lowbit(n) = n & (~n +1) = n & (-n)(树状数组的一个基本运算)lowbit运算配合Hash可以找出整数二进制表示下所有是1的位,所花费的时间与1的个数同级。为了打到这一目的,只需不断把n赋值为n - lowbit(n),直到n==0.例如: n = 9 = ‘1001’..原创 2021-08-21 11:12:45 · 625 阅读 · 0 评论