算法
Devil-ly
这个作者很懒,什么都没留下…
展开
-
归并排序
递归版 template void merge(T *a, T *b, int left, int mid, int right) { int i = left, j = mid + 1, k = left; while (i <= mid && j <= right) { if (a[i] > a[j]) b[k++] = a[j++]; else b[k++] =原创 2017-03-21 09:27:56 · 183 阅读 · 0 评论 -
动态规划(01背包问题)
首先要想办法求出状态转移方程,自然会想到在背包放a物品和不放a物品的背包价值需要做比较,用f(i,y)表示背包的总价值,i表示第i到n(物品总量)个物品,y表示此时背包的剩余容量,即需要求出max{f(i,y),f(i,y-wi)+pi)}, 此时y比如要大于等于wi。加上i为最后一个物品时的特殊情况,可以写出方程: f(n,y) =pn原创 2017-03-24 09:13:45 · 1341 阅读 · 0 评论