摘要: ABC229 复盘 [ABC229C] Cheese 思路解析 题目已经告诉了你每克比萨能带来的美味度,因此直接以每克的美味度为关键字贪心即可。 时间复杂度:一次排序,\(O(n \log n)\)。 code #include<bits/stdc++.h> using namespace std; 阅读全文
posted @ 2024-04-17 21:00 2020luke 阅读(109) 评论(0) 推荐(0)
摘要: [ABC229E] Graph Destruction 题解 思路解析 题目要求删点,而众所周知删点的代价要大于加点的代价,于是我们考虑倒着处理询问,将每一个删点改成加点,而加点时就用并查集维护连通块即可。 code #include<bits/stdc++.h> using namespace s 阅读全文
posted @ 2024-04-17 20:43 2020luke 阅读(68) 评论(0) 推荐(0)
摘要: ABC212 复盘 [ABC212C] Min Difference 思路解析 与 \(a_i\) 差值最小的某个 \(b_j\) 要么是第一个大于它的值,要么是第一个小于它的值,而这两个值都可以用二分求得,于是我们直接将 \(b\) 数组排序,然后对于每一个 \(a_i\) 都用二分找到上文提到的 阅读全文
posted @ 2024-04-17 20:15 2020luke 阅读(112) 评论(0) 推荐(0)
摘要: [ABC212E] Safety Journey 题解 思路解析 首先根据题目的条件我们可以想到 dp,用 \(f_{i,j}\) 表示走了 \(i\) 步,现在在 \(j\) 的方案数,可见转移即是 \(f_{i,u} \gets \sum{f_{i-1,v}}\),这里的 \(v\) 表示每个与 阅读全文
posted @ 2024-04-17 20:12 2020luke 阅读(74) 评论(0) 推荐(0)
摘要: [ABC208D] Shortest Path Queries 2 题解 思路解析 此题的本质其实就是 Floyd。我们在进行 Floyd 时会有一个 \(k\) 充当中间点,可见这里的 \(k\) 就等于题目当中的 \(k\),因为小于等于 \(k\) 的所有点都被当作过中间点转移过,而大于 \( 阅读全文
posted @ 2024-04-17 18:36 2020luke 阅读(71) 评论(0) 推荐(0)
摘要: ABC211 复盘 [ABC211C] chokudai 思路解析 题目说的很明白,看到匹配子序列可以轻易想到是简单 dp,直接做即可。 时间复杂度:两个字符串两层循环,\(O(8 \times N)\)。 code #include<bits/stdc++.h> using namespace s 阅读全文
posted @ 2024-04-17 18:24 2020luke 阅读(95) 评论(0) 推荐(0)
摘要: CF154C Double Profiles 题解 思路解析 题目说的很明白,求有多少个无序点对 \((i,j)\),使得与 \(i\) 直接相连的点集与直接与 \(j\) 相连的点集完全相等。我们想到如果直接判断每个 \(i,j\) 肯定会超时,所以我们想把每一个与任意一点直接相连的点集进行压缩, 阅读全文
posted @ 2024-04-16 16:48 2020luke 阅读(56) 评论(0) 推荐(0)
摘要: ABC223 复盘 [ABC223C] Doukasen 思路解析 根据题目可知,燃烧的总时长肯定不变,所以我们可以直接从头开始遍历找到第一根香使得烧完这根香后的时间会大于总时长的一半,然后加上剩余时间下会烧掉的长度即可。 时间复杂度:一次遍历,\(O(N)\)。 code #include<bit 阅读全文
posted @ 2024-04-04 13:31 2020luke 阅读(176) 评论(0) 推荐(0)
摘要: [ABC223F] Parenthesis Checking 题解 思路解析 在开始之前,首先我们需要知道合法括号序列的判断方法。我们可以给每个括号打上权值,设左括号权值为 \(1\),右括号权值为 \(-1\),这样一个 \(\texttt{(()())}\) 括号串用数字存下就是 \(1,1,- 阅读全文
posted @ 2024-04-04 13:16 2020luke 阅读(58) 评论(0) 推荐(0)
摘要: [ABC211F] Rectilinear Polygons 题解 思路什么的上一篇题解已经写的非常明白了,这里只是提供一个补充 & 另一个实现的方法。 思路解析 先说结论:扫描线。顾名思义,扫描线的本质就是用一条线沿着 \(x\) 或 \(y\) 轴扫过去,每碰到一条边就记录一下加边后是面积是增加 阅读全文
posted @ 2024-04-04 10:43 2020luke 阅读(55) 评论(0) 推荐(0)