自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 最大子列和问题

四种方式处理最大子列合

2023-07-03 21:27:17 127 1

原创 买卖股票时机

dp1 : 第一次购买的最大盈利(花的少不就相当于赚的多吗) dp2 :第一次出售的最大值 dp3 第二次购买的最大盈利 dp4 第二次出售的最大盈利。还有就是 最多购买2次 你可能一次也没买 可能买了一次 也可能买了 两次 根据所给的数据你的最大盈利的方式是不一样的 不过最小盈利肯定是0了。都是要求手中最多一只股票, 也就是在买新的股票前 手中必须无股票。然后你的第一次出售 第二次购买出售 都是和前面的那个最大盈利有关。只能买一次的话 购买前手中一定是无盈利的。不同点就是对购买次数的区分。

2023-05-05 19:42:25 126

原创 哈希表的第一步

1. 数组 如 全由小写字母组成的字符串 A, B 查A B 是否是 异或字符串(有点像 1--1的桶)哈希表的实现主要通过三种形式。2. set容器 通过set。

2023-04-25 16:34:10 125

原创 有关动态规划的最小个数问题

例如,1、4、9 和 16 都是完全平方数,而 3 和 11 不是。有关最小个数、次数的动态规划问题 用的递推式就是 dp[i] = min(dp[i], dp[i-a[j]]+1) 先遍历容量还是先遍历物品都行。给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, ...)使得它们的和等于 n。而如果是组合数则外物品内容量 就是 dp[i] += dp[i-a[j]] 如果是排列数则是外容量内背包。给你一个整数 n ,返回和为 n 的完全平方数的 最少数量。这是平方数这个题的代码。

2023-04-24 23:35:37 225

原创 零钱兑换问题

来源:牛客网。

2023-04-24 10:57:52 345

原创 (牛客)糖果传递

来源:牛客网。

2023-04-24 07:46:33 131

原创 分割等和子集

方法2: 01背包 往上套 变成了每个物品质量为a[i] 价值也为a[i] 所以 j 容量得背包能够装下得最大价值就是 j 所以 如果b[j] == j 就说明能选出一个数列让和为j。给定一个n个数的数列 和一定为偶数 让你判断下 是否可以分解成两个数列, 使得这两个数列得和相等。方法1:模拟, 适用范围小 复杂度指数级太高了。

2023-04-22 23:29:44 76

原创 动态规划 整数拆分问题

因为上述代码中 有个i 也就是不分解 所以 上述是最少分解成一个数的最大乘积。首先明晰这个a[i] 是 数字i 可以被拆分得到的最大乘积。这个有一个困难就是考虑 分成多少项 当分的项可以是为1时。给定一个整数 要求拆分多少项 然后求最大乘积。如果是至少分解成两项。

2023-04-22 23:00:53 205

原创 不同路径问题

对动态规划路径的初步总结

2023-04-22 22:46:32 365

原创 判断是否是正常日期

判断每一天是否是正常日期

2023-04-21 20:52:21 72

原创 洛谷——逆序对数

分为左右两部分 分别排序, 然后进行归并的时候 从左右进行比较 当a[j] < a[i] 时候 那么 它所贡献的对数为 mid - i + 1 ------- 因为左右半侧都是有序的 所以 左边的 i ----- mid 是升序 如果 a[i] > a[j]那么 a[i] --- a[mid] 都大于 a[j] 那么 逆序对数 增加 mid - i + 1 个。

2023-04-16 22:38:21 156 1

原创 总结排序算法

4.插入排序 :从数列中第2-n项依次取 然后 将这个数 与他前面的 i - 1 项进行伴随比较找到他在这算上自己 共 i 个人中的位置。5.快速排序:二分 + 取一个基数(标杆) 把比他小的放左边 比他大的放右边 然后 再以他为界限继续重复。2.选择排序: 每次选择一个最大的或者最小的放最后 然后再从剩下的重复此步骤。1. 冒泡排序: 一个泡泡升到他合适的地方。

2023-04-09 23:22:11 117 1

原创 完全背包问题

那么 c[i][j] = max(c[i][j], c[i][j-a[i]]+b[i], c[i][j - 2 * a[i]] + 2 * b[i] --------)这个问题和01背包问题就在于一个物品可以无限次取。和01 背包问题 就在于这个第i个物品取多少次。

2023-04-06 14:39:17 143 1

原创 简单01背包问题

从代码中可以看出 c[i][j] 其实 和 c[i-1][j] c[i-1][j-a[i]]+b[i] 有关 当我只有 J 这么大的空间时 最后 所能获得的最大值是确定的 其实就是 a[1][j] ---- a[n][j] 这么多中的 最大值 然后就进行优化。考虑思路: 到 第i个 物品时 重量不超过 j 的 取法 中 价值的最大值;本人小白,刚学到一点。

2023-04-06 14:15:07 110 1

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除