摘要: 题目传送门 简单说一下题意:求给定字符串中辅音字母数量不少于 \(n\) 的子串个数。注意是多测。 看完题目后我想都没想就写出了判定辅音的函数。接下来思考提议的实现方法。 现在的题解中似乎没人仔细说明实现的细节,但其实我是想了很久才想出来的。所以来仔细讲讲。 为了表述方便,我们定义最短辅音子串为原字 阅读全文
posted @ 2025-10-30 16:15 Circle_Table 阅读(1) 评论(0) 推荐(0)
摘要: 洛谷题目传送门 Codeforces题目传送门 此题是求前缀最小值,所以从位置靠前的元素开始考虑。比如说只考虑前三个元素即可。 当 \(a_1<a_2\) 时,易知 \(\min(a_1)\) 与 \(\min(a_1, a_2)\) 均为 \(a_1\) 的值。由此可见 \(a_2\) 的值不会影 阅读全文
posted @ 2025-10-30 16:15 Circle_Table 阅读(4) 评论(0) 推荐(0)
摘要: 题目传送门 题意相当明了,在这里总结出要点:第一是此题有多组测试数据;第二是输入为 \(n\) 以及一个长为 \(n\) 的序列,每次操作可将相邻元素交换位置。求将该序列转换为先单调递增后单调递减的最少操作数。 我们来看样例。样例一告诉我们可以全部单调递增或单调递减。样例二看完后就很明了了。我把样例 阅读全文
posted @ 2025-10-30 16:14 Circle_Table 阅读(1) 评论(0) 推荐(0)
摘要: 题目传送门 题意简述:给定的 \(n\) 个正整数 \(a_1,a_2,⋯,a_n\) 中,进行 \(m\) 此操作,每次可以将不超过它们最大值的任意一个整数的值减一,然后令 \(a_k\) 的排名尽可能靠前。 然后观察样例。样例中小蓝的功力值为 \(5\) 点,由于存在 \(a_4=6\) 是最大 阅读全文
posted @ 2025-10-30 16:14 Circle_Table 阅读(1) 评论(0) 推荐(0)
摘要: 思路:由于 \(n\) 数据范围过大,显然不能直接全部遍历。注意到所有区间两两不交,显然可以对所有的区间进行排序,然后从小到大对区间进行遍历,由于 \(m\) 并不算大,这种方案自然是可行的。 已知学校是在一个区间内的(保证编号为 \(s\) 的建筑不提供租赁服务)但不确定学校所在的区间两端是否有其 阅读全文
posted @ 2025-10-30 16:13 Circle_Table 阅读(1) 评论(0) 推荐(0)
摘要: 刚学并查集来试试手 题目传送门 题目对传送阵的描述让我们知道,每个输入的 \(a_i\) 与 \(i\) 之间可任意传送,所以可以先用并查集合并。 进行遍历时,如果不使用魔法,则找到最长集合的长度,就是答案;如果使用了魔法,那么就要找出相邻两个元素所在集合的长度和的最大值。 理清思路,我们需要完成一 阅读全文
posted @ 2025-10-30 16:13 Circle_Table 阅读(5) 评论(0) 推荐(0)
摘要: 题目要求我们使超车次数最大,且任何车 \(x\) 不应当超越另一辆车 \(y\) 超过一次,并且要符合最终以输入的顺序抵达终点。 然后注意到第一组样例的后两行:为了使超车次数最大,这两辆车互相超了一次。再通过观察,可以得出两条结论。在 \(i<j\) 的前提下: 当 \(c_i>c_j\) 时,显然 阅读全文
posted @ 2025-10-30 16:13 Circle_Table 阅读(1) 评论(0) 推荐(0)
摘要: 题意过于简洁不必复述了。 显而易见,为了使原矩阵成为一个军旗,每一列到最后的时候都应当处于全红,全蓝或全白这三种状态之一,其中全黑是不可以的。那就直接分类讨论每一列的三种情况。 例如:我们存储每一列改为全红,全蓝或全白三种状态的最小代价分别为 \(a_{1,1},a_{2,1},a_{3,1}\), 阅读全文
posted @ 2025-10-30 16:12 Circle_Table 阅读(3) 评论(0) 推荐(0)
摘要: 题目大意 需要将 \(n\) 个元素中前 \(k\) 大的挪到前 \(k\) 个位置,求最小的总代价。 解题思路 想到了用结构体来解此题,储存每一个元素的大小与编号。然后按照元素从大到小进行排序,得到一个新的顺序,此时前 \(k\) 个就是需要放在前 \(k\) 位的。 在此之后,为防止无效挪动(比 阅读全文
posted @ 2025-10-30 16:12 Circle_Table 阅读(2) 评论(0) 推荐(0)
摘要: 赛时只有 5 分,交了 24 次才 AC,因为不是足够聪明。 字典序无论是越大越好还是越小越好,都是针对于最终得到的序列而言。因为 \(t\) 的范围显然不适合模拟,考虑从特殊性质入手。 \(t=1\) 时,只有先手进行一次操作,因此他只用将第一个不是升序排列的元素改为升序排列应有的正确元素即可。 阅读全文
posted @ 2025-10-30 16:12 Circle_Table 阅读(2) 评论(0) 推荐(0)