![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++
文章平均质量分 76
lulu10922
这个作者很懒,什么都没留下…
展开
-
string类操作
初始化string对象的方式{CSDN:CODE:1272509}原创 2015-10-29 00:21:55 · 322 阅读 · 0 评论 -
回溯法之求全排列
题目:求1,2,...,N的全排列。例,N=3时,共有六种:思路:回溯法就是先确定某一部step的选择,选择之后要置状态为1,以表示某个资源已被使用;然后把“选择”和当前状态传到到step+1,直到第N+1步,才结束。然后回溯回去的时候,要重新置状态为0,这一点是回溯法的重要标志!#include #define N 3void print_elems(int* a原创 2016-01-26 16:54:07 · 3505 阅读 · 0 评论 -
图的深度优先遍历
思路:任选一点开始,在该点能到达的点中选一个去遍历(其余的点等稍后再说),在第二个点访问过之后,类似访问过第一个点之后,选其能到达的点中的一个去遍历,一直到某个点访问完,但他又没有其他相邻的点,此时,再回到他的上一个点,访问该点未访问过的临接点,若无,继续向上回溯。。。。例:(此图和该文的思路是参考 http://blog.csdn.net/todd911/article/details原创 2016-01-27 10:52:08 · 452 阅读 · 0 评论 -
动态规划之0-1背包问题
问题描述:一组物品编号1,2,...,N,每个物品重量v[i],价值w[i],挑出若干件物品放入一个能容纳物品重量V背包中,这些物品的总重不超过V,且价值要尽量大。解题思路:设把1,2,...,i物品挑出若干放入能容纳v重量的背包中,所能产生的最大价值为f[i][v]。如果第i件物品没有放入背包,那么f[i][v]=f[i-1][v];如果第i件物品放入了背包中那么f[i][v]=f[i-1]原创 2016-01-27 17:18:21 · 285 阅读 · 0 评论 -
动态规划之完全背包问题
问题描述:与0-1背包问题不同之处在于,对各种物品有无数件解题思路:由于第i件物品件数不限,导致f[i][v]不再像0-1背包那样只有两种情况:i物品放入和不放入,而是有多种情况:i物品不放入,放入一件,放入两件。。。在这几种情况中选取最大值。用公式表示就是:f[i][v]=max{f[i-1][v],w[i]+f[i-1][v-v[i]],2*w[i]+f[i-1][v-2*v[i]],原创 2016-01-28 21:00:13 · 646 阅读 · 0 评论