题目大意:给定一个字符串和一个字符串集合,问从集合中选出若干个串组成给定母串的不同方案数。 题解:有些类似于背包问题。状态很好表示,为:$dp[i]$ 表示母串前 i 个字符的不同方案数,因此,有状态转移方程为:$dp[i]=\Sigma dp[j],s[j+1...i]=s_0,s_0\in se ...
分类:
其他好文 时间:
2018-12-19 00:32:39
阅读次数:
220
[蒟蒻实验室]Ep.1背包退火! · FBI Warning · 新算法:背包退火! · 本文所包含的思路来自于NCC79601巨佬的启迪Orz ·算法剖析 简单来讲,背包退火就是用模拟退火的思路解决某些类型的背包问题,继承了模拟退火的玄学复杂度,也继承了它的不稳定性,所以能够有效地解决大背包问题的 ...
分类:
其他好文 时间:
2018-12-16 11:49:34
阅读次数:
197
回顾一下往年的考题知识点: The Last Battle!! 2014级算法期末上机 简单题——I wanna be the 升级者Ⅰ 结构体排序 STL:sort() 简单题——I wanna be the 升级者Ⅱ 二分 :STL : lower_bound () 简单题——Railway S ...
分类:
编程语言 时间:
2018-12-12 00:37:31
阅读次数:
379
关于DP 似乎摸到了门槛呢,学着学着Dijkstra突然有了感觉。 我们遍历的时候会遍历整张图的每个点每条边,然后与已知的对比大小,如果比现在方案好,就放入数组 那么,DP岂不是同样的思想? 在背包问题中,DP方程中其实意思是:如果可行,那么当前物品加入背包,并且把能填满剩余空间的最大价值物品也加入 ...
分类:
其他好文 时间:
2018-12-07 22:32:21
阅读次数:
189
01背包问题是很经典的动态规划问题,给定总容量T,物品的件数。然后给定数组weight[k] value[k]来求解背包装上物品所带来的最大收益。 最开始的时候是设置二维DP数组来求解问题 我们不妨设数组DP[i][j]来表示的是前i件物品在容量为j的情况下所取得的最大收益值,当我们设置好一个DP数 ...
分类:
其他好文 时间:
2018-12-04 19:03:05
阅读次数:
169
题解: 没有免费操作我都不会$nk$。。。。 树上有依赖背包问题的正确做法是(为啥我之前学的不是这样的啊) 直接dfs下去维护背包 而不是对每个点求一次$f[i][j]$ 这样是$n*k^2$ 前者不管是多重背包还是0/1背包 复杂度都是$nk$的(单调队列优化) 然后考虑有一条链是免费的操作 ...
分类:
移动开发 时间:
2018-12-03 11:59:11
阅读次数:
234
问题描述:给定n种物品,1个背包,背包容量为c,每个物品i的价值为vi,重量为wi,如何选择装入物品能使背包的总价值最大? 注意:与0-1背包问题不同,在选择物品i装入背包时,可以选择物品i的一部分,而不一定要全部装入背包,1<=i<=n 形式化描述:给定c >0, wi >0, vi >0 , 1 ...
分类:
编程语言 时间:
2018-12-01 18:43:47
阅读次数:
148
传送门 一道有毒的有依赖的背包问题。。。 题目描述 金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间金明自己专用的很宽敞的房间。更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过NNN元钱就行”。今天一早,金明就开始做预算了,他把想买的物品分为两类:主 ...
分类:
其他好文 时间:
2018-12-01 17:11:31
阅读次数:
248
普通背包问题可以用贪心来解决,而0-1背包问题只能靠动态规划来做,而且在我们平时的做题中经常会遇到0-1背包问题的变形,所以有必要牢牢掌握0-1背包问题的思想和解题思路。 根据下面的图更可以找到应该选那些背包 下面是我根据此思路模拟的代码 运行结果如下 总结:(1)很多0-1背包问题完全可以套此模板 ...
分类:
其他好文 时间:
2018-11-30 00:33:07
阅读次数:
185
1 #include <cstdio> 2 #include <cstring> 3 #include <iostream> 4 #include <algorithm>//庆祝自己第一道01背包问题hhhhhh 5 #include <string.h> 6 using namespace std ...
分类:
其他好文 时间:
2018-11-28 22:22:58
阅读次数:
210