算法学习
changreal
这个作者很懒,什么都没留下…
展开
-
【算法学习】分组背包问题
有N件物品和一个容量为V的背包,第i件物品的重量为w[i],价值为v[i],这些物品被划分成了若干组,每组中的物品互相冲突,最多选一件问将哪些物品放入背包中可以使背包获得最大的价值对于每一组的物品,都可以看成是一个01背包问题,对每组的物品都处理一遍即可。输入格式:第一行:三个整数,V(背包容量,V<=200),N(物品数量,N<=30)和T(最大组号,T<=10);第...原创 2019-10-16 12:29:55 · 921 阅读 · 0 评论 -
【算法学习】01背包问题
01背包问题相当于还是求n个物品的组合!暴力解法:每一件物品,都可以放进背包,也可以不放进。复杂度是O( (2^n) * n ), 对于每一个组合,还要看看对应的总重是多少,看看是不是超过了容量C,从而看价值。组合方式都可以用递归的方式来求解。只是是能不能找到重叠子问题、最优子结构,从而转换为DP。设计:状态:之前状态都使用一个参数就解决了问题,通常问题中参数的个数意味着要解决问题需...原创 2019-10-14 21:30:38 · 1603 阅读 · 0 评论 -
【算法学习】动态规划Leetcode习题
动态规划开始比较绕,所以思考的时候先同自顶向下的方式思考清楚问题的结构,然后再反向自底向上+双重循环,动态规划的推导。343. Integer Break递归+计划化搜索方法自顶向下的方式// 递归+记忆化搜索 class Solution {private: vector<int> memo; int max3(int a, int b, int c){...原创 2019-10-14 11:16:26 · 232 阅读 · 0 评论