
dp && 贪心
文章平均质量分 57
1010100
勇敢nn
用心去打造每一份美好
展开
-
汉诺塔问题(含四柱加强版)
思路分析:首先分析三根柱子的汉诺塔:将第i-1个盘子从a柱通过三根柱子移动到b柱,然后将最大的移动到c柱,最后又将i−1个盘子通过三根柱子移动到c柱。2、用3柱汉诺塔经典算法把A柱上剩余的r个碟子通过C柱移到D柱上【2^r −1步】(参照三柱时的情况);1、用4柱汉诺塔算法把A柱上部分的n−r个碟子通过C柱和D柱移到B柱上【F(n−r)步】;3、用4柱汉诺塔算法把B柱上的n−r个碟子通过A柱和C柱移到D柱上【F(n−r)步】;4、依据上边规则求出所有r (1≤r≤n)情况下步数f(n),取最小值得最终解。原创 2022-09-09 11:21:26 · 1434 阅读 · 0 评论 -
2022暑假 动态规划总结(进阶)
动态规划(Dynamic Programming,DP)是运筹学的一个分支,是求解决策过程最优化的过程。20世纪50年代初,美国数学家贝尔曼(R.Bellman)等人在研究多阶段决策过程的优化问题时,提出了著名的最优化原理,从而创立了动态规划。动态规划的应用极其广泛,包括工程技术、经济、工业生产、军事以及自动化控制等领域,并在背包问题、生产经营问题、资金管理问题、资源分配问题、最短路径问题和复杂系统可靠性问题等中取得了显著的效果............原创 2022-07-29 16:09:44 · 314 阅读 · 0 评论 -
牛客动态规划训练
牛客动态规划训练。原创 2022-07-23 16:45:07 · 219 阅读 · 0 评论 -
背包问题总结
题目描述:有 N 件物品和一个容量是 V 的背包。每件物品只能使用一次。第 i 件物品的体积是 vi,价值是 wi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。测试样例:`二维一维对样例的解释(初次理解)三维转二维优化:比较01背包与完全背包:3. 多重背包暴力做法二进制优化4. 二维费用背包类型1:求最大值类型2:求方案数.........原创 2022-05-07 18:24:46 · 383 阅读 · 2 评论 -
动态规划(初级)
1.数字三角形题目描述:给定一个如下图所示的数字三角形,从顶部出发,在每一结点可以选择移动至其左下方的结点或移动至其右下方的结点,一直走到底层,要求找出一条路径,使路径上的数字的和最大。测试样例:输入:573 88 1 0 2 7 4 44 5 2 6 5输出:30代码如下:#include<iostream>#include<algorithm>using namespace std;const int N=520;int f[N][N];原创 2021-08-13 17:05:41 · 141 阅读 · 0 评论 -
贪心...
1.货仓选址题目描述:在一条数轴上有 N 家商店,它们的坐标分别为 A1∼AN,现在需要在数轴上建立一家货仓,每天清晨,从货仓到每家商店都要运送一车商品。为了提高效率,求把货仓建在何处,可以使得货仓到每家商店的距离之和最小。测试样例:输入:46 2 9 1输出:12代码如下://思路:若为偶数个,则找到最中间两个数所包含的区间,若为奇数,则找中位数#include<iostream>#include<algorithm>const int N=100010原创 2021-08-07 17:02:54 · 245 阅读 · 0 评论