![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法设计与分析
文章平均质量分 51
哆啦A梦阳
这个作者很懒,什么都没留下…
展开
-
贪心-AcWing 1522. 排成最小的数字-XMUOJ石板序列
【代码】贪心-AcWing 1522. 排成最小的数字-XMUOJ石板序列。原创 2024-05-26 21:06:19 · 338 阅读 · 0 评论 -
贪心-leetcode402.移掉 K 位数字-XMUOJ符文序列
话不多说,直接上代码。原创 2024-05-26 20:25:08 · 180 阅读 · 0 评论 -
贪心-AcWing 125. 耍杂技的牛-XMUOJ蒙德冒险者的游戏
话不多说,直接上代码。原创 2024-05-26 19:35:42 · 264 阅读 · 0 评论 -
贪心-ACW803区间合并-XMUOJ力量碎片合并
话不多说,直接上代码。原创 2024-05-26 17:34:24 · 187 阅读 · 0 评论 -
树形DP-AcWing 285. 没有上司的舞会-XMUOJ提瓦特庆典策划
话不多说,直接上代码。原创 2024-05-26 16:56:29 · 254 阅读 · 0 评论 -
区间合并-leetcode合并石头的最低成本-XMUOJ元素共鸣:深层次的唤醒
附上INT_MAX和INT_MIN。话不多说,直接上代码。原创 2024-05-26 16:21:58 · 221 阅读 · 0 评论 -
ACW石子合并-XMUOJ元素共鸣:唤醒神之眼 -区间DP
话不多说,直接上代码。原创 2024-05-25 22:38:32 · 260 阅读 · 0 评论 -
AcW木棒-XMUOJ恢复破碎的符咒木牌-DFS与剪枝
话不多说,直接上代码。原创 2024-05-25 21:59:15 · 276 阅读 · 0 评论 -
ACWing471. 棋盘-DFS剪枝
【代码】ACWing471. 棋盘-DFS剪枝。原创 2024-05-15 16:04:13 · 322 阅读 · 0 评论 -
AcWing166. 数独-DFS剪枝与优化
【代码】AcWing166. 数独-DFS剪枝与优化。原创 2024-05-14 21:53:49 · 316 阅读 · 0 评论 -
acw165. 小猫爬山-DFS剪枝与优化
可行性剪枝:如果放入当前的猫,车的重量超出,则舍弃该方案。优化搜索顺序:大部分情况下,应该优先搜索分支较少的节点。优化搜索顺序:优先放重猫。原创 2024-05-13 21:43:13 · 302 阅读 · 0 评论 -
AcWing-168生日蛋糕-搜索/剪枝
【代码】AcWing-168生日蛋糕-搜索/剪枝。原创 2024-05-11 16:10:59 · 201 阅读 · 0 评论 -
ACWing-186巴士-DFS
【代码】ACWing-186巴士-DFS。原创 2024-05-07 11:23:53 · 362 阅读 · 0 评论 -
算法-线性DP模板题-902. 最短编辑距离
【代码】算法-线性DP模板题-902. 最短编辑距离。原创 2024-03-26 20:34:34 · 258 阅读 · 0 评论 -
算法-匈牙利算法与二分图-372.棋盘覆盖
重要结论:一个匹配是最大匹配等价于其不存在增广路径。贴一段C++的代码,Python代码会超时。原创 2024-03-20 21:05:49 · 302 阅读 · 0 评论 -
算法-归并排序-788. 逆序对的数量
逆序对的定义如下:对于数列的第 i 个和第 j个元素,如果满足 ia[j],则其为一个逆序对;给定一个长度为 n 的整数数列,请你计算数列中的逆序对的数量。数列中的元素的取值范围 [1,10的9次方]。第一行包含整数 n,表示数列的长度。第二行包含 n个整数,表示整个数列。输出一个整数,表示逆序对的个数。原创 2024-03-13 21:16:38 · 1524 阅读 · 0 评论 -
算法-前缀和-562. 壁画
【代码】算法-前缀和-562. 壁画。原创 2024-03-13 09:17:25 · 184 阅读 · 0 评论 -
算法-二分与差分-503.借教室
【代码】算法-二分与差分-503.借教室。原创 2024-03-12 20:57:53 · 414 阅读 · 0 评论 -
算法-差分-797.差分
【代码】算法-差分-797.差分。原创 2024-03-12 17:56:10 · 419 阅读 · 0 评论 -
算法-状数组与线段树-1264. 动态求连续区间和
【代码】算法-状数组与线段树-1264. 动态求连续区间和。原创 2024-03-11 21:04:02 · 151 阅读 · 0 评论 -
算法-双指针、BFS与图论-1224. 交换瓶子
【代码】算法-双指针、BFS与图论-1224. 交换瓶子。原创 2024-03-10 19:28:51 · 444 阅读 · 0 评论 -
算法-双指针、BFS与图论-1113. 红与黑
【代码】算法-双指针、BFS与图论-1113. 红与黑。原创 2024-03-10 18:41:38 · 471 阅读 · 0 评论 -
算法-双指针、BFS与图论-1101. 献给阿尔吉侬的花束
【代码】算法-双指针、BFS与图论-1101. 献给阿尔吉侬的花束。原创 2024-03-10 17:26:03 · 2079 阅读 · 0 评论 -
算法-双指针、BFS与图论-1238. 日志统计
具体来说,如果存在某个时刻 T 满足该帖在 [T,T+D) 这段时间内(注意是左闭右开区间)收到不少于 K个赞,该帖就曾是”热帖”。如果一个帖子曾在任意一个长度为 D的时间段内收到不少于 K个赞,小明就认为这个帖子曾是”热帖”。给定日志,请你帮助小明统计出所有曾是”热帖”的帖子编号。以下 N 行每行一条日志,包含两个整数 ts和 id。表示在 ts 时刻编号 id 的帖子收到一个”赞”。现在小明想统计有哪些帖子曾经是”热帖”。第一行包含三个整数 N,D,K。原创 2024-03-09 21:38:50 · 471 阅读 · 0 评论 -
算法-贪心-112. 雷达设备
雷达装置均位于海岸线上,且雷达的监测范围为 d,当小岛与某雷达的距离不超过 d 时,该小岛可以被雷达覆盖。现在给出每个小岛的具体坐标以及雷达的检测范围,请你求出能够使所有小岛都被雷达覆盖所需的最小雷达数目。我们使用笛卡尔坐标系,定义海岸线为 x轴,海的一侧在 x轴上方,陆地一侧在 x 轴下方。输出一个整数,代表所需的最小雷达数目,若没有解决方案则所需数目输出 −1−1。假设海岸是一条无限长的直线,陆地位于海岸的一侧,海洋位于另外一侧。接下来 n 行,每行输入两个整数,分别代表小岛的 x,y 轴坐标。原创 2024-03-09 15:18:37 · 576 阅读 · 0 评论 -
算法-贪心-122. 糖果传递
接下来 n 行,每行一个整数 a[i],表示第 i 个小朋友初始得到的糖果的颗数。有 n个小朋友坐成一圈,每人有 a[i]个糖果。第一行输入一个正整数 n,表示小朋友的个数。求使所有人获得均等糖果的最小代价。每人每次传递一个糖果代价为 1。0≤a[i]≤2×10的9次方,每人只能给左右两人传递糖果。输出一个整数,表示最小代价。原创 2024-03-09 12:21:42 · 916 阅读 · 0 评论 -
算法-贪心-104. 货仓选址
现在需要在数轴上建立一家货仓,每天清晨,从货仓到每家商店都要运送一车商品。为了提高效率,求把货仓建在何处,可以使得货仓到每家商店的距离之和最小。在一条数轴上有 N家商店,它们的坐标分别为 A1∼AN。输出一个整数,表示距离之和的最小值。第二行 N 个整数 A1∼AN。第一行输入整数 N。原创 2024-03-08 22:39:42 · 317 阅读 · 1 评论 -
算法-贪心-1055. 股票买卖 II
样例1:在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5-1 = 4。随后,在第 4 天(股票价格 = 3)的时候买入,在第 5 天(股票价格 = 6)的时候卖出, 这笔交易所能获得利润 = 6-3 = 3。样例2:在第 1 天(股票价格 = 1)的时候买入,在第 5 天 (股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5-1 = 4。给定一个长度为 N的数组,数组中的第 i个数字表示一个给定股票在第 i 天的价格。原创 2024-03-08 22:10:04 · 239 阅读 · 1 评论 -
算法-XMUOJ最短突破天数
【代码】算法-XMUOJ最短突破天数。原创 2024-03-07 20:45:38 · 232 阅读 · 1 评论 -
算法-DFS/BFS-XMUOJ提瓦特细胞探秘
【代码】算法-DFS/BFS-XMUOJ提瓦特细胞探秘。原创 2024-03-07 20:03:36 · 203 阅读 · 1 评论 -
算法-贪心-XMUOJ圣遗物的强化
【代码】算法-贪心-XMUOJ圣遗物的强化。原创 2024-03-07 11:33:24 · 231 阅读 · 1 评论 -
算法-DP问题-XMUOJ寻找蒙德之宝
减去玩家2在剩余子数组上的最大收益,取两者中的最大值。这样,通过动态规划,我们可以依次求得所有子问题的最优解,最终得到整个问题的最优解。在这个问题中,我们需要找到玩家1每一步的最佳选择,以便获得最大的收益。减去玩家2在剩余子数组上的最大收益,或取右边宝物的收益。上,玩家1的最大收益等于取左边宝物的收益。分别表示玩家2在剩余子数组上的最大收益。这个状态转移方程的意义是:在当前子数组。原创 2024-03-06 22:31:29 · 309 阅读 · 0 评论 -
算法-枚举、模拟与排序-787. 归并排序
第二行包含 n 个整数(所有整数均在 1∼10**9 范围内),表示整个数列。请你使用归并排序对这个数列按照从小到大进行排序。输出共一行,包含 n个整数,表示排好序的数列。给定你一个长度为 n 的整数数列。输入共两行,第一行包含整数 n。并将排好序的数列按顺序输出。原创 2024-03-05 16:40:44 · 179 阅读 · 0 评论 -
算法-枚举、模拟与排序-1245. 特别数的和
【代码】算法-枚举、模拟与排序-1245. 特别数的和。原创 2024-03-05 16:04:40 · 195 阅读 · 0 评论 -
算法-枚举、模拟与排序-1236. 递增三元组
【代码】算法-枚举、模拟与排序-1236. 递增三元组。原创 2024-03-05 11:31:55 · 266 阅读 · 0 评论 -
算法-枚举、模拟与排序-1210. 连号区间数
【代码】算法-枚举、模拟与排序-1210. 连号区间数。原创 2024-03-04 23:01:51 · 195 阅读 · 1 评论 -
算法-数学与简单DP-895. 最长上升子序列
给定一个长度为 N的数列,求数值严格单调递增的子序列的长度最长是多少。−10的9次方≤数列中的数≤10的9次方。第二行包含 N 个整数,表示完整序列。输出一个整数,表示最大长度。第一行包含整数 N。原创 2024-03-04 22:08:21 · 342 阅读 · 1 评论 -
算法-数学与简单DP-0-1背包问题
接下来有 N行,每行两个整数 vi,wi,用空格隔开,分别表示第 i 件物品的体积和价值。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。第一行两个整数,N,V用空格隔开,分别表示物品数量和背包容积。第 i件物品的体积是 vi,价值是 wi。有 N件物品和一个容量是 V的背包。输出一个整数,表示最大价值。原创 2024-03-04 17:15:11 · 1272 阅读 · 1 评论 -
算法-数学与简单DP-1211. 蚂蚁感冒
接着的一行是 n个用空格分开的整数 Xi, Xi 的绝对值表示蚂蚁离开杆子左边端点的距离。正值表示头朝右,负值表示头朝左,数据中不会出现 0值,也不会出现两只蚂蚁占用同一位置。请你计算,当所有蚂蚁都爬离杆子时,有多少只蚂蚁患上了感冒。当两只蚂蚁碰面时,它们会同时掉头往相反的方向爬行。并且在和其它蚂蚁碰面时,会把感冒传染给碰到的蚂蚁。长 100厘米的细长直杆子上有 n只蚂蚁。输出1个整数,表示最后感冒蚂蚁的数目。其中,第一个数据代表的蚂蚁感冒了。这些蚂蚁中,有 1只蚂蚁感冒了。它们的头有的朝左,有的朝右。原创 2024-03-03 14:41:23 · 300 阅读 · 0 评论 -
算法-数学与简单DP-1205. 买不到的数目
你可以用计算机测试一下,在这种包装情况下,最大不能买到的数量是17。本题的要求就是在已知两个包装的数量时,求最大不能组合出的数字。当然有些糖果数目是无法组合出来的,比如要买 10 颗糖。他别出心裁:把水果糖包成4颗一包和7颗一包的两种。小朋友来买糖的时候,他就用这两种包装来组合。两个正整数 n,m,表示每种包装中糖的颗数。大于17的任何数字都可以用4和7组合出来。一个正整数,表示最大不能买到的糖数。小明开了一家糖果店。原创 2024-03-03 14:01:32 · 377 阅读 · 0 评论