
挑战程序设计竞赛
文章平均质量分 81
挑战程序设计竞赛笔记及题解
山雾野灯
这个作者很懒,什么都没留下…
展开
-
记录结果再利用的 “功态规划”
目 录一、记忆化搜索与动态规划#01 背包问题一、记忆化搜索与动态规划#01 背包问题n = 4(w, v) = { (2, 3), (1, 2), (3, 4) , (2, 2) }W = 57(选择第0 、1 、3 号物品)【解析】第一步:先写限制条件,本题有两个(遍历到底,重量不能超过 W )。遍历到底,回溯;重量static int n;static int[] w=new int[100],v=new int[100];public static void原创 2021-11-21 16:36:21 · 357 阅读 · 0 评论 -
最基础的“穷竭搜索”“
递归函数//计算斐波那契数列的函数int fib(int n){ if(n <= 1) return n; return fib(n-1) + fib(n-2)}实际使用时,即使是 fib(40) 这样n较小时的结果,也要花费 相当长的时间;在这个斐波那契数列中,如果 fib(n) 的n是一定的,多次调用都会得到同样的结果。如果计算一次之后,用数列储存起来,便可优化之后的计算。这种方法是出于记忆化搜索或者动态规划的想法。栈(Stack)和 队列(Queue)栈(Stack原创 2021-10-29 20:57:31 · 417 阅读 · 0 评论