摘要: 处理何种问题:有n堆物品,每堆物品数为 arr[i] ,双方轮流从中取物品,每次只能从一堆物品中取任意件物品,最少取一件,取到最后一件物品的人获胜,求谁最后获胜。 性能:因为是有公式,所以时间复杂度为O(n)。 原理:结论:把每堆物品数全部都异或起来,如果得到的值为0,那么先手必败,否则先手必胜。 阅读全文
posted @ 2018-08-16 16:59 逃往火星的猫 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 处理何种问题:给定n种物品和一个容量为V的背包,物品i的体积为vi,其价值为pi,求其最终可以装进背包的物品最大价值。 性能:时间复杂度为O(nV) 原理: 实现步骤:对于该状态转移方程的二维数组实现方式我就不在这里说了。 一维数组的实现方式:因为该方程式其实每次只需要考虑第i个和第i-1个,可以用 阅读全文
posted @ 2018-08-16 13:09 逃往火星的猫 阅读(97) 评论(0) 推荐(0) 编辑