背包问题具体例子:假设现有容量10kg的背包,另外有3个物品,分别为a1,a2,a3。物品a1重量为3kg,价值为4;物品a2重量为4kg,价值为5;物品a3重量为5kg,价值为6。将哪些物品放入背包可使得背包中的总价值最大? 首先想到的,一般是穷举法,一个一个地试,对于数目小的例子适用,如果容量增 ...
分类:
编程语言 时间:
2020-07-09 00:51:57
阅读次数:
66
现在有个问题:已知N个箱子以及每个箱子重量,船只最大承载量是W,如何在T次运送之内运完箱子(不考虑空间因素,只要重量没超过都能放得下) 思路:要保证在T次之内送完箱子,换句话说就要要每次运送的货物的总重量达到或者最接近船只最大承载量(当然前提要保证最大承载量W大于(箱子总重量/T次)) 方法1:穷举 ...
分类:
其他好文 时间:
2020-07-04 19:13:14
阅读次数:
73
解题报告 学生:陈睿泽 【引言】 这是一道我们机房的练习题目,传说 wjz 和 hsy 用了10min就秒切了,而我这个无力的小蒟蒻调了 1h 才打了出来。 【题目描述】 多多今天很高兴,因为他的好朋友苹果要过生日了。由于今天多多得到了两张价值不菲的 SHOP 购物券,所以他决定买 \(N\) 件礼 ...
分类:
其他好文 时间:
2020-06-28 20:37:38
阅读次数:
42
就是dfs,有个好听的名字叫回溯,其实就是穷举法,这种算法的时机复杂度为n^level ,效率还是很低的 import java.util.Stack; public class DFSTest { public static void main(String[] args) { char[] p ...
分类:
其他好文 时间:
2020-06-21 09:48:15
阅读次数:
45
参考文章: [1] 团灭 LeetCode 股票买卖问题 [2] Most consistent ways of dealing with the series of stock problems 其实文章 [1] 是文章 [2] 的「二次创作」,建议先阅读 [2] 后再阅读 [1] 。文章 [2] ...
分类:
其他好文 时间:
2020-06-06 21:39:10
阅读次数:
83
简介 Floyd算法算是最简单的算法,没有之一。 其状态转移方程如下map[i , j] =min{ map[i , k] + map[k , j] , map[i , j] }; map[i , j]表示 i 到 j 的最短距离,K是穷举 i , j 的断点,map[n , n]初值应该为0,或者 ...
分类:
编程语言 时间:
2020-05-19 18:14:39
阅读次数:
65
"A题链接" 给你一个目标数组 target 和一个整数 n。每次迭代,需要从 list = {1,2,3..., n} 中依序读取一个数字。 请使用下述操作来构建目标数组 target : Push:从 list 中读取一个新元素, 并将其推入数组中。 Pop:删除数组中的最后一个元素。 如果目标 ...
分类:
其他好文 时间:
2020-05-10 15:18:59
阅读次数:
56
一.相关知识 1.背景:从一颗受精卵成长为一个复杂的多细胞生物,神经系统在生物的成长中起着主导作用,神经系统分为中枢神经系统和周围神经系统两大部分主要组成。其中中枢系统主要分布在脑和脊髓中,分布在脑部的神经系统主要起传递、储存和加工信息,产生各种心理活动,支配与控制生物行为的作用。我们把人的这种特性 ...
分类:
其他好文 时间:
2020-05-08 00:24:00
阅读次数:
124
这类题目的往往可以采用暴力穷举的办法,但其时间复杂度过高。因此,这里采用动态规划的方法求解。设定一个状态集合dp[numsSize]与nums[numsSize]一一对应,对dp[0]初始化为nums[0],之后的每一个状态都赋值为max{nums[i], nums[i]+dp[i-1]},这里的意 ...
分类:
其他好文 时间:
2020-05-03 10:43:12
阅读次数:
54
一.动态规划基本结构 二.典型例题 2.1 矩阵链 问题:给定一个n个矩阵的矩阵链,矩阵的维度为 (1 ≤ i ≤ n),求一个最优的加括号方案,使得计算矩阵乘积所需要的标量乘法次数最少。 解法:1.穷举法: 定义T(N)是顺序的个数,则T(N)=Σ(i=1,N-1)T(i)T(N-i),有cata ...
分类:
编程语言 时间:
2020-04-25 23:11:42
阅读次数:
85