Java数据结构和算法(八)——递归 目录 1、递归的定义 2、求一个数的阶乘:n! 3、递归的二分查找 4、分治算法 5、汉诺塔问题 5、归并排序 6、消除递归 递归和栈 7、递归的有趣应用 ①、求一个数的乘方 ②、背包问题 ③、组合:选择一支队伍 8、总结 记得小时候经常讲的一个故事:从前有座山 ...
分类:
编程语言 时间:
2019-11-17 10:22:54
阅读次数:
125
#include <iostream> #include <algorithm> using namespace std; const int N = 110; int n, m; int v[N][N], w[N][N], s[N]; int f[N]; int main() { cin >> n ...
2019.11.16 DAY1 今天凉透了。应该离退役不远了。 CSP S: 感觉座位挺舒服,就是太挤了。 打好快读什么的还有很长时间等待。 密码比较奇怪,没去年有意思。 第一次参加S(tg)就要退役了,唉。 忍着性子存完文件,通读题目,感觉要凉。 T1感觉没去年简单,反复看了几遍题、样例,找到了规 ...
分类:
其他好文 时间:
2019-11-16 21:34:32
阅读次数:
68
//二进制优化 最后变为01背包 #include <iostream> #include <algorithm> using namespace std; const int N = 12010, M = 2010; int n, m; int v[N], w[N]; int f[M]; int ...
HDU_2159 二维费用背包问题 http://acm.hdu.edu.cn/showproblem.php?pid=2159 ...
分类:
其他好文 时间:
2019-11-16 17:34:41
阅读次数:
67
```c //将所有的组合穷尽排列出来,更新某一个特征值 /* 例题: 有n件物品,每件物品的重量为w[i],价值为c[i]。 现在需要选出若干件物品放入一个容量为V的背包中, 使得在选入背包的物品重量和不超过容量V的前提下, 让背包中物品的价值之和最大,求最大价值。(1≤n≤20) 使用深度优先搜... ...
分类:
其他好文 时间:
2019-11-15 10:45:10
阅读次数:
128
一.01背包: (以下均可用一维来写 即只能选择一次的物品装在一定容积的背包中。f[i][j]表示前i件物品在容积为j时的最大价值。 for(int i = 1; i <= n ; i++){ for(int j = v ; j >= 0 ; j--){ if (w[i]<=j ) f[i][j]= ...
分类:
其他好文 时间:
2019-11-14 18:27:02
阅读次数:
77
动态规划难吗?说实话,我觉得很难,特别是对于 初学者 来说,我当时入门动态规划的时候,是看 0 1 背包问题,当时真的是一脸懵逼。后来,我遇到动态规划的题, 看的懂答案,但就是自己不会做,不知道怎么下手 。就像做递归的题,看的懂答案,但下不了手,关于递归的,我之前也写过一篇 套路 的文章,如果对递归 ...
分类:
其他好文 时间:
2019-11-14 09:59:04
阅读次数:
61
仅收录有意思的题目 1. "数的划分" 2. "导弹拦截" : LIS的两种优化 3. "教主的花园" :将不同的情况分类,最后取max 4. "午餐" & "挂饰" : 需要排序 1. "挂饰" :0 1背包处理负数体积 2. "投资的最大效益" : 完全背包, n次 3. "Piggy Bank ...
分类:
其他好文 时间:
2019-11-13 22:02:42
阅读次数:
76
题目描述 现在我们的手头有N个软件,对于一个软件i,它要占用Wi的磁盘空间,它的价值为Vi。我们希望从中选择一些软件安装到一台磁盘容量为MM计算机上,使得这些软件的价值尽可能大(即Vi的和最大)。 但是现在有个问题:软件之间存在依赖关系,即软件i只有在安装了软件j(包括软件j的直接或间接依赖)的情况 ...
分类:
其他好文 时间:
2019-11-13 21:55:39
阅读次数:
61