- 博客(9)
- 收藏
- 关注
原创 背包问题(补充-枚举体积正逆序问题)
我们都知道01背包核心代码是:for(int i=0;i<n;i++) for(int j=m;j>=v;j--) dp[j]=max(dp[j],dp[j-v]+w);而完全背包核心代码是:for(int i=0;i<n;i++) for(int j=v;j<=m;++) dp[j]=max(dp[j],dp[j-v]+w);可以看到俩者的区别只有枚举体积的时候的是正序还是逆序的差别(也就是从大到小还是从下到大)
2022-03-10 23:32:02 149
原创 动态规划——背包问题(详解)
动态规划是我最早接触的算法,一开始非常简单,固定模板题,后来愈发愈发难起来了,条件,状态压缩等等,难点主要是,状态怎么表示,状态转移方程怎么写,这篇文章将会从背包五大问题详解,希望能帮助到大家去类比,思考其他动态规划题目。首先先来看看动态规划的定义:动态规划算法是通过拆分问题,定义问题状态和状态之间的关系,使得问题能够以递推(或者说分治)的方式去解决。动态规划算法的基本思想与分治法类似,也是将待求解的问题分解为若干个子问题(阶段),按顺序求解子阶段,前一子问题的解,为后一子问题的求解提供了有用的信息。
2022-03-08 22:26:17 9234
原创 堆排序(c语言入门版)
### 题目描述输入一个长度为 n 的整数数列,从小到大输出前 m 小的数。### 输入格式共一行,包含 m 个整数,表示整数数列中前 m 小的数。#### 输入样例```5 34 5 1 3 2```#### 输出样例```1 2 3```----------### 预备知识(完全二叉树 大小根堆)概念不清的可以去某b站看看几分钟的视频这里给出父子节点关系 此题代码会用到子结点=2*父节点+1##### (堆排序) $O(nlong(n)$##...
2022-02-08 14:13:10 777
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人