AcWing算法日记
文章平均质量分 72
AcWing学习日记
Cloudeeeee
共同成长,共同进步!
展开
-
[AcWing] 1024. 装箱问题(C++实现)01背包问题
[AcWing] 1024. 装箱问题(C++实现)01背包问题1. 题目2. 读题(需要重点注意的东西)3. 解法4. 可能有帮助的前置习题5. 所用到的数据结构与算法思想6. 总结1. 题目2. 读题(需要重点注意的东西)读题:装箱需要体积 ===》 体积要求装箱体积最大,每一个箱子有自身的体积 ===》 价值且每一个箱子只有选或不选两种情况即:体积 ===》 体积体积===》 价值思路:将空间优化为二维:滚动数组优化方式与[AcWing] 2. 01背包问题(C++实现)原创 2022-04-21 10:24:20 · 629 阅读 · 0 评论 -
[AcWing] 423. 采药(C++实现)01背包问题
[AcWing] 423. 采药(C++实现)01背包问题1. 题目2. 读题(需要重点注意的东西)3. 解法4. 可能有帮助的前置习题5. 所用到的数据结构与算法思想6. 总结1. 题目2. 读题(需要重点注意的东西)读题:采每一株草药时间会减少 ===》 体积每一株草药有自身的价值 ===》 价值且每一株草药只有选或不选两种情况即:时间 ===》 体积价值 ===》 价值思路:将空间优化为二维:滚动数组优化方式与[AcWing] 2. 01背包问题(C++实现)0-1背包问原创 2022-04-21 09:51:32 · 1651 阅读 · 0 评论 -
[AcWing] 187. 导弹防御系统(C++实现)最长上升子序列模型+贪心+dfs爆搜
[AcWing] 187. 导弹防御系统(C++实现)最长上升子序列模型+贪心+dfs爆搜1. 题目2. 读题(需要重点注意的东西)3. 解法4. 可能有帮助的前置习题5. 所用到的数据结构与算法思想6. 总结1. 题目2. 读题(需要重点注意的东西)读题:在[AcWing] 1010. 拦截导弹(C++实现)最长上升子序列模型+贪心的基础上,多了一个条件:导弹拦截系统可以是 严格上升 的子序列,也可以是 严格下降 的子序列,题目中给出的数各不相同。思路: 最长上升子序列 + 贪心 + dfs原创 2022-04-17 20:00:17 · 1296 阅读 · 0 评论 -
[AcWing] 1010. 拦截导弹(C++实现)最长上升子序列模型+贪心
[AcWing] 1010. 拦截导弹(C++实现)最长上升子序列模型+贪心1. 题目2. 读题(需要重点注意的东西)3. 解法4. 可能有帮助的前置习题5. 所用到的数据结构与算法思想6. 总结1. 题目2. 读题(需要重点注意的东西)读题:每来一个导弹有两种选择:接在现有某个导弹拦截系统之后创建一个新的导弹拦截系统我们希望一个导弹拦截系统拦截的导弹足够的多(贪心),那么如果要将这个导弹加到某一个导弹拦截系统之后的话,我们需要从现有的所有导弹拦截系统中,找到一个结尾大于当前导原创 2022-04-17 17:21:02 · 1785 阅读 · 0 评论 -
[AcWing] 1016. 最大上升子序列和(C++实现)最长上升子序列模型
[AcWing] 1016. 最大上升子序列和(C++实现)最长上升子序列模型1. 题目2. 读题(需要重点注意的东西)3. 解法4. 可能有帮助的前置习题5. 所用到的数据结构与算法思想6. 总结1. 题目2. 读题(需要重点注意的东西)读题:思路:3. 解法---------------------------------------------------解法---------------------------------------------------可能存在的问题4.原创 2022-04-12 11:50:03 · 200 阅读 · 0 评论 -
[AcWing] 1012. 友好城市(C++实现)最长上升子序列模型、较为特殊
[AcWing] 1012. 友好城市(C++实现)最长上升子序列模型1. 题目2. 读题(需要重点注意的东西)3. 解法4. 可能有帮助的前置习题5. 所用到的数据结构与算法思想6. 总结1. 题目2. 读题(需要重点注意的东西)读题:思路:3. 解法---------------------------------------------------解法---------------------------------------------------可能存在的问题4. 可能有帮原创 2022-04-12 11:00:42 · 1366 阅读 · 0 评论 -
[AcWing] 482. 合唱队形(C++实现)最长上升子序列模型
[AcWing] 482. 合唱队形(C++实现)最长上升子序列模型1. 题目2. 读题(需要重点注意的东西)3. 解法4. 可能有帮助的前置习题5. 所用到的数据结构与算法思想6. 总结1. 题目2. 读题(需要重点注意的东西)读题:身高的排列如下:问:计算最少需要几位同学出列 ===》 最多有多少同学可以构成合唱队形,即求正反向的最长上升子序列之和!思路:具体思路与[AcWing] 1014. 登山(C++实现)最长上升子序列模型、求正反向最长上升子序列之和相同,在此不再赘述。3.原创 2022-04-12 10:35:59 · 1000 阅读 · 0 评论 -
[AcWing] 1014. 登山(C++实现)最长上升子序列模型、求正反向最长上升子序列之和
[AcWing] 1014. 登山(C++实现)最长上升子序列模型1. 题目2. 读题(需要重点注意的东西)3. 解法4. 可能有帮助的前置习题5. 所用到的数据结构与算法思想6. 总结1. 题目2. 读题(需要重点注意的东西)读题:① 每次所浏览景点的编号都要大于前一个浏览景点的编号 ===》 单调 ② 一旦开始下山,就不再向上走了 ===》 可以反向③ 尽可能多的浏览景点 ===》 最长单调 + 最长 ===》 最长上升子序列模型最长上升子序列模型 + 可以反向 ===》原创 2022-04-12 10:22:50 · 778 阅读 · 0 评论 -
[AcWing] 1017. 怪盗基德的滑翔翼(C++实现)最长上升子序列模型
[AcWing] 1017. 怪盗基德的滑翔翼(C++实现)最长上升子序列模型1. 题目2. 读题(需要重点注意的东西)3. 解法4. 可能有帮助的前置习题5. 所用到的数据结构与算法思想6. 总结1. 题目2. 读题(需要重点注意的东西)读题:只能选择一个方向下降,可以选则正向、可以选择反向所选择的楼是呈现单调下降的(反过来就是单调上升的)即无论正向和反向,都可以看成求最长上升的子序列,即在每个节点正向求一遍最长上升子序列、再反向求一遍最长上升子序列,最后取max得到最大的原创 2022-04-12 09:37:13 · 1374 阅读 · 0 评论 -
[AcWing] 1027. 方格取数(C++实现)数字三角形模型扩展题
[AcWing] 1027. 方格取数(C++实现)数字三角形模型1. 题目2. 读题(需要重点注意的东西)3. 解法4. 可能有帮助的前置习题5. 所用到的数据结构与算法思想6. 总结1. 题目2. 读题(需要重点注意的东西)读题:从左上角走到右下角走2条路(只能向下走和向右走)求路径和的最大值(走过相同的结点时只计算一次)思路:满足数字三角形模型的特征!即在[AcWing] 1015. 摘花生(C++实现)数字三角形模型模板题的基础上,新增了一个条件:即可以走两条路径,但是原创 2022-04-11 09:44:46 · 321 阅读 · 0 评论 -
[AcWing] 1018. 最低通行费(C++实现)数字三角形模型
[AcWing] 1018. 最低通行费(C++实现)数字三角形模型1. 题目2. 读题(需要重点注意的东西)3. 解法4. 可能有帮助的前置习题5. 所用到的数据结构与算法思想6. 总结1. 题目2. 读题(需要重点注意的东西)读题: 从左上角走到右下角,商人必须在 (2N−1) 个单位时间穿越出去===》即只能向右或者向下走,走到终点时的最小值是多少?思路:因此本题满足数字三角形模型的特征;相当于在[AcWing] 1015. 摘花生(C++实现)数字三角形模型模板题的基础上进行了变换原创 2022-04-11 09:01:46 · 369 阅读 · 0 评论 -
[AcWing] 1015. 摘花生(C++实现)数字三角形模型模板题
[AcWing] 896. 最长上升子序列 II(C++实现)数字三角形模型模板题1. 题目2. 读题(需要重点注意的东西)3. 解法4. 可能有帮助的前置习题5. 所用到的数据结构与算法思想6. 总结1. 题目2. 读题(需要重点注意的东西)读题: 从左上角走到右下角,只能向右或者向下走,走到终点时的最大值是多少?思路:3. 解法---------------------------------------------------解法--------------------------原创 2022-04-10 21:55:18 · 765 阅读 · 0 评论 -
[Java基础] ACM模式下的Java常用输入输出 I/O(持续更新)
[Java基础] ACM模式下的Java常用输入输出 I/O (持续更新)[Java基础] ACM模式下的Java常用输入输出输入1. BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));2. int n = Integer.parseInt(reader.readLine());3. String[] strs = reader.readLine().split(" ");4. arr[i] = In原创 2022-04-09 11:10:50 · 586 阅读 · 0 评论 -
[Linux] 购买腾讯云服务器及环境配置,超详细
[Linux] 购买腾讯云服务器及环境配置1. 购买前须知1.1 配置如何选择1.2 轻量级云服务器和云服务器的差别1.2.1 计费方式1.2.2 详细对比2. 初始化配置3. 配置ssh免密登录4. 配置环境5. 安装Docker1. 购买前须知腾讯学生云服务器_学生云主机_学生云数据库_云+校园特惠套餐1.1 配置如何选择按需要选择自己的服务器,刚开始按1核2G的配置就可以了,如果内存只有1G可能会造成某些程序崩溃。配置也不需要太高,之后若网站等造成服务器流量访问开始上升,可以按需要升级配置。原创 2022-03-31 11:05:41 · 5581 阅读 · 1 评论 -
[AcWing] 3370. 牛年(C++实现)
[AcWing] 3370. 牛年(C++实现)1. 题目2. 读题(需要重点注意的东西)3. 解法4. 可能有帮助的前置习题5. 所用到的数据结构与算法思想6. 总结1. 题目2. 读题(需要重点注意的东西)思路(哈希表):读题:Mildred 在 Bessie 出生前的上一个龙年出生 — > Elsie 在 Bessie 之前 12 年出生Gretta 在 Mildred 出生前的上一个猴年出生 — > Gretta 在 Bessie 之前 17 年出生Elsie 在原创 2022-03-18 22:10:40 · 1065 阅读 · 0 评论 -
[AcWing] 3358. 放养但没有完全放养(C++实现)贪心
[AcWing] 3358. 放养但没有完全放养(C++实现)贪心1. 题目2. 读题(需要重点注意的东西)3. 解法4. 可能有帮助的前置习题5. 所用到的数据结构与算法思想6. 总结1. 题目2. 读题(需要重点注意的东西)思路(贪心):读题意:即给定两个字符串 S 和 T ,判断字符串 S 至少存在多少次,使得存在子序列为 T主要思路:给定字符串S中的字符一个序列,如 0 1 2 …然后遍历字符串T,判断当前字符 i 和上一个字符 i-1在字符串S中的序号大小,如果当前字符在字符串原创 2022-03-17 21:27:32 · 1204 阅读 · 0 评论 -
[AcWing] 3346. 你知道你的ABC吗(C++实现)找规律
[AcWing] 3346. 你知道你的ABC吗(C++实现)找规律1. 题目2. 读题(需要重点注意的东西)3. 解法4. 可能有帮助的前置习题5. 所用到的数据结构与算法思想6. 总结1. 题目2. 读题(需要重点注意的东西)思路(找规律):因为 A <= B <= C,因此对数列排序后,最小的一定是A,最大的一定是A+B+C;然后对于剩下的数,第二个数一定是B,那么C = (A+B+C)-(A+B)3. 解法---------------------------------原创 2022-03-14 21:52:12 · 1218 阅读 · 0 评论 -
[AcWing] 1913. 公平摄影(C++实现)前缀和+哈希表
[AcWing] 1913. 公平摄影(C++实现)前缀和+哈希表1. 题目2. 读题(需要重点注意的东西)3. 解法4. 可能有帮助的前置习题5. 所用到的数据结构与算法思想6. 总结1. 题目2. 读题(需要重点注意的东西)思路:前缀和最长的答案可能有如下三种情况:① 全为 1 (1代表根西岛牛 G )② 全为 -1 (-1代表荷斯坦牛 H )③ 1 和 -1 的数量相等(构建前缀和数组,找最长的区间和为 0 的区间)答案就是要找上述三种情况的最大值,即 res = max(①原创 2022-01-21 17:33:10 · 592 阅读 · 0 评论 -
[AcWing] 1922. 懒惰的牛(C++实现)前缀和
[AcWing] 1922. 懒惰的牛(C++实现)前缀和1. 题目2. 读题(需要重点注意的东西)3. 解法4. 可能有帮助的前置习题5. 所用到的数据结构与算法思想6. 总结1. 题目2. 读题(需要重点注意的东西)思路:思路一:前缀和遍历一遍,用前缀和求出区间[i-k,i+k]内的最大值即可3. 解法-----------------------------------------------解法:前缀和---------------------------------------原创 2022-01-20 18:28:30 · 483 阅读 · 0 评论 -
[AcWing] 2041. 干草堆(C++实现)差分+快排(第k个数)
[AcWing] 2058. 笨拙的手指(C++实现)差分+快排(第k个数)1. 题目2. 读题(需要重点注意的东西)3. 解法4. 可能有帮助的前置习题5. 所用到的数据结构与算法思想6. 总结1. 题目2. 读题(需要重点注意的东西)思路:差分+快排3. 解法---------------------------------------------------解法---------------------------------------------------#include &l原创 2022-01-14 21:15:32 · 326 阅读 · 0 评论 -
[AcWing] 2058. 笨拙的手指(C++实现)秦九韶算法
[AcWing] 2058. 笨拙的手指(C++实现)秦九韶算法1. 题目2. 读题(需要重点注意的东西)3. 解法4. 可能有帮助的前置习题5. 所用到的数据结构与算法思想6. 总结1. 题目2. 读题(需要重点注意的东西)思路:① 依次枚举二进制的所有位,将每一位改为不同的数(只有一种情况),将此数对应的十进制数放在哈希表中;② 然后依次枚举三进制的所有位,将每一位改为不同的数(有两种情况),转换为十进制;③ 然后查看哈希表中是否有对应的十进制即可(题目保证有唯一解)。3. 解法--原创 2022-01-12 10:07:50 · 1020 阅读 · 0 评论 -
[AcWing] 899. 编辑距离(C++实现)线性dp例题
[AcWing] 899. 编辑距离(C++实现)线性dp例题1. 题目2. 读题(需要重点注意的东西)3. 解法4. 可能有帮助的前置习题5. 所用到的数据结构与算法思想6. 总结1. 题目2. 读题(需要重点注意的东西)思路:求最短编辑距离:然后在此基础上,判断最小编辑距离是否小于上限操作次数即可。3. 解法---------------------------------------------------解法-------------------------------------原创 2022-01-07 15:10:48 · 777 阅读 · 0 评论 -
[AcWing] 902. 最短编辑距离(C++实现)线性dp例题
[AcWing] 902. 最短编辑距离(C++实现)线性dp例题1. 题目2. 读题(需要重点注意的东西)3. 解法4. 可能有帮助的前置习题5. 所用到的数据结构与算法思想6. 总结1. 题目2. 读题(需要重点注意的东西)思路:3. 解法---------------------------------------------------解法---------------------------------------------------#include <iostream&原创 2022-01-07 13:42:55 · 720 阅读 · 0 评论 -
[AcWing] 896. 最长上升子序列 II(C++实现)线性dp例题 思想更接近贪心
[AcWing] 896. 最长上升子序列 II(C++实现)线性dp例题 思想更接近贪心1. 题目2. 读题(需要重点注意的东西)3. 解法4. 可能有帮助的前置习题5. 所用到的数据结构与算法思想6. 总结1. 题目2. 读题(需要重点注意的东西)思路:dp求解上升子序列的问题:相比于最长上升子序列问题,增大了数据N的范围到1e5,最长上升子序列问题的时间复杂度为O(n^2),因此,需要考虑一些优化,来降低时间复杂度优化方法:对于每个长度的上升子序列,我们用二分找出数组q中比a[i]小的原创 2022-01-05 12:07:09 · 712 阅读 · 0 评论 -
[AcWing] 894. 拆分-Nim游戏(C++实现)博弈论SG函数例题
[AcWing] 894. 拆分-Nim游戏(C++实现)博弈论SG函数例题1. 题目2. 读题(需要重点注意的东西)3. 解法4. 可能有帮助的前置习题5. 所用到的数据结构与算法思想6. 总结1. 题目2. 读题(需要重点注意的东西)思路:首先要知道几个定义公平组合游戏(ICG)公平组合游戏(ICG)(1)由两名玩家交替行动(2)在游戏进行的任意时刻,可以执行的合法行动与轮到哪位玩家无关(3)轮流走,当一个玩家不能走时游戏结束(4)游戏不能区分玩家的身份,例如黑白棋就是不行的特原创 2022-01-05 10:22:17 · 232 阅读 · 1 评论 -
[AcWing] 892. 台阶-Nim游戏 (C++实现)博弈论Nim游戏例题
[AcWing] 892. 台阶-Nim游戏 (C++实现)博弈论Nim游戏例题1. 题目2. 读题(需要重点注意的东西)3. 解法4. 可能有帮助的前置习题5. 所用到的数据结构与算法思想6. 总结1. 题目2. 读题(需要重点注意的东西)思路:首先要知道几个定义公平组合游戏(ICG)(1)由两名玩家交替行动(2)在游戏进行的任意时刻,可以执行的合法行动与轮到哪位玩家无关(3)轮流走,当一个玩家不能走时游戏结束(4)游戏不能区分玩家的身份,例如黑白棋就是不行的特征给定初始局势,指原创 2022-01-05 09:52:41 · 192 阅读 · 0 评论 -
[AcWing] 884. 高斯消元解异或线性方程组 (C++实现)高斯消元解异或线性方程组模板题
[AcWing] 884. 高斯消元解异或线性方程组 (C++实现)高斯消元解异或线性方程组模板题1. 题目2. 读题(需要重点注意的东西)3. 解法4. 可能有帮助的前置习题5. 所用到的数据结构与算法思想6. 总结与高斯消元求解线性方程组差不多,详见 4. 可能有帮助的前置习题1. 题目2. 读题(需要重点注意的东西)思路:类似线性代数的求通解过程本题的思路3. 解法---------------------------------------------------解法---原创 2022-01-04 11:51:30 · 599 阅读 · 0 评论 -
[AcWing] 845. 八数码(C++实现)---bfs的应用
[AcWing] 845. 八数码(C++实现)---bfs的应用1. 题目2. 读题(需要重点注意的东西)3. 解法4. 可能有帮助的前置习题5. 所用到的数据结构与算法思想6. 总结1. 题目2. 读题(需要重点注意的东西)思路:题意:如下九宫格玩具,问将九宫格恢复成如下状态所需的最小步数一句话思路:解题过程:3. 解法---------------------------------------------------解法-----------------------------原创 2022-01-04 10:48:14 · 666 阅读 · 0 评论 -
[AcWing] 240. 食物链(C++实现)---并查集的应用
[AcWing] 240. 食物链(C++实现)---并查集例题1. 题目2. 读题(需要重点注意的东西)3. 解法4. 可能有帮助的前置习题5. 所用到的数据结构与算法思想6. 总结1. 题目2. 读题(需要重点注意的东西)思路:一句话思路:使用并查集,在其基础上维护它们到根节点的距离,然后计算如下公式:若x 到根节点的距离为 d[x],则:d[x] % 3 == 0,说明x和y是同类d[x] % 3 == 1,说明x可以吃yd[x] % 3 == 2,说明x可以被y吃x到根节点的距原创 2021-12-30 14:34:21 · 1401 阅读 · 0 评论 -
[AcWing] 143. 最大异或对(C++实现)---trie例题
[AcWing] 143. 最大异或对(C++实现)---trie例题1. 题目2. 读题(需要重点注意的东西)3. 解法4. 可能有帮助的前置习题5. 所用到的数据结构与算法思想6. 总结1. 题目2. 读题(需要重点注意的东西)思路:异或:如果a、b两个值不相同,则异或结果为1。如果a、b两个值相同,异或结果为0。(相同为0,不同为1)如 1(十进制) = 0001(2进制), 2 = 0010, 3 = 00111 ⊕ 2 = 0011 = 3, 1 ⊕ 3 = 0010 , 2 ⊕原创 2021-12-28 14:49:58 · 838 阅读 · 0 评论 -
[AcWing] 3302. 表达式求值 (C++实现)---栈例题
[AcWing] 3302. 表达式求值 (C++实现)---栈例题1. 题目2. 读题(需要重点注意的东西)3. 解法4. 可能有帮助的前置习题5. 所用到的数据结构与算法思想6. 总结1. 题目2. 读题(需要重点注意的东西)思路:解题思路:定义运算符优先级代码实现思路:3. 解法---------------------------------------------------解法-------------------------------------------------原创 2021-12-27 19:40:36 · 703 阅读 · 0 评论 -
[AcWing] 125. 耍杂技的牛(C++实现)贪心---推公式例题
[AcWing] 125. 耍杂技的牛(C++实现)贪心---推公式例题1. 题目2. 读题(需要重点注意的东西)3. 解法4. 可能有帮助的前置习题5. 所用到的数据结构与算法思想6. 总结1. 题目2. 读题(需要重点注意的东西)思路:贪心 -----> 每次在当前的选法中,选择能选的情况中的最优解解题思路:代码实现思路:按上述结论将每头牛从小到大叠罗汉(排序),然后求出最大的风险即可。3. 解法-----------------------------------原创 2021-12-23 13:56:13 · 1180 阅读 · 0 评论 -
[AcWing] 104. 货仓选址(C++实现)贪心---绝对值不等式例题
[AcWing] 104. 货仓选址(C++实现)贪心---绝对值不等式例题1. 题目2. 读题(需要重点注意的东西)3. 解法4. 可能有帮助的前置习题5. 所用到的数据结构与算法思想6. 总结1. 题目2. 读题(需要重点注意的东西)思路:贪心 -----> 每次在当前的选法中,选择能选的情况中的最优解解题思路:代码实现思路:按上述思路,中位数为n/2,那么只需要代入公式统计距离之和的最小值即可:res += abs(q[i] - q[n / 2]);3. 解法---原创 2021-12-23 13:45:43 · 653 阅读 · 0 评论 -
[AcWing] 913. 排队打水(C++实现)贪心---排序不等式例题
[AcWing] 913. 排队打水(C++实现)贪心---排序不等式例题1. 题目2. 读题(需要重点注意的东西)3. 解法4. 可能有帮助的前置习题5. 所用到的数据结构与算法思想6. 总结1. 题目2. 读题(需要重点注意的东西)思路:贪心 -----> 每次在当前的选法中,选择能选的情况中的最优解解题思路:代码实现思路:按上述思路,只需要代入公式即可:res += t[i] * (n-i-1);3. 解法-------------------------------原创 2021-12-23 13:30:45 · 478 阅读 · 0 评论 -
[AcWing] 148. 合并果子(C++实现)贪心---哈夫曼树例题
[AcWing] 148. 合并果子(C++实现)贪心---哈夫曼树例题1. 题目2. 读题(需要重点注意的东西)3. 解法4. 可能有帮助的前置习题5. 所用到的数据结构与算法思想6. 总结1. 题目2. 读题(需要重点注意的东西)思路:贪心 -----> 每次在当前的选法中,选择能选的情况中的最优解解题思路:每次取最小的两堆合并成一堆,然后重复,直至最后只有一堆。代码实现思路:用小根堆保存所有的数,每次合并时,pop出两个数求和,然后将这两个数的和push进小根堆即可3原创 2021-12-23 13:19:52 · 1414 阅读 · 0 评论 -
[AcWing] 907. 区间覆盖(C++实现)贪心---区间问题例题
[AcWing] 907. 区间覆盖(C++实现)贪心---区间问题例题1. 题目2. 读题(需要重点注意的东西)3. 解法4. 可能有帮助的前置习题5. 所用到的数据结构与算法思想6. 总结1. 题目2. 读题(需要重点注意的东西)思路:贪心 -----> 每次在当前的选法中,选择能选的情况中的最优解解题思路:将所有区间按左端点从小到大排序从前往后枚举每个区间,在所有能覆盖start的区间中,选择右端点最大的区间,然后将start更新为当前选择区间的右端点。代码实现思路:①原创 2021-12-23 10:57:16 · 1178 阅读 · 0 评论 -
[AcWing] 906. 区间分组(C++实现)贪心---区间问题例题
[AcWing] 906. 区间分组(C++实现)贪心---区间问题例题1. 题目2. 读题(需要重点注意的东西)3. 解法4. 可能有帮助的前置习题5. 所用到的数据结构与算法思想6. 总结1. 题目2. 读题(需要重点注意的东西)思路:贪心 -----> 每次在当前的选法中,选择能选的情况中的最优解解题思路:先将每个区间按左端点从小到大排序,然后每次枚举每个区间,当某个区间内已经取了点时(即当前查看区间的左端点大于当前组的最大右端点),则说明有交集,组数加1,否则组数不变,最后输出原创 2021-12-22 16:44:52 · 796 阅读 · 0 评论 -
[AcWing] 908. 最大不相交区间数量(C++实现)贪心---区间问题例题
[AcWing] 908. 最大不相交区间数量(C++实现)贪心---区间问题例题1. 题目2. 读题(需要重点注意的东西)3. 解法4. 可能有帮助的前置习题5. 所用到的数据结构与算法思想6. 总结1. 题目2. 读题(需要重点注意的东西)思路:与AcWing 905. 区间选点问题一模一样,甚至代码都是一样的。解法在此不再赘述。贪心 -----> 每次在当前的选法中,选择能选的情况中的最优解解题思路:先将每个区间按右端点从小到大排序,然后每次枚举每个区间,当某个区间内已经取了点原创 2021-12-22 10:52:38 · 224 阅读 · 0 评论 -
[AcWing] 905. 区间选点(C++实现)贪心---区间问题例题
[AcWing] 905. 区间选点(C++实现)贪心---区间问题例题1. 题目2. 读题(需要重点注意的东西)3. 解法4. 可能有帮助的前置习题5. 所用到的数据结构与算法思想6. 总结1. 题目2. 读题(需要重点注意的东西)思路:贪心 -----> 每次在当前的选法中,选择能选的情况中的最优解解题思路:先将每个区间按右端点从小到大排序,然后每次枚举每个区间,当某个区间内已经取了点时,直接跳过即可,否则取每个区间最右端的端点。代码实现思路:3. 解法----------原创 2021-12-22 10:26:46 · 672 阅读 · 1 评论 -
[AcWing] 901. 滑雪(C++实现)记忆化搜索例题
[AcWing] 901. 滑雪(C++实现)记忆化搜索例题1. 题目2. 读题(需要重点注意的东西)3. 解法4. 可能有帮助的前置习题5. 所用到的数据结构与算法思想6. 总结1. 题目2. 读题(需要重点注意的东西)思路:一句话思路:考虑从四个方向滑过来的最大值,那么当前值f(x,y)就等于四个方向滑过来的最大值+1。将四个方向滑过来的最大值记为f(a,b),则f(x,y) = f(a,b)+1,再一步步递归进去回溯出答案。代码实现思路:3. 解法----------------原创 2021-12-21 14:48:01 · 909 阅读 · 0 评论