摘要: 解析 在操作一时,最小值如果在最后一位,其无法更新任何数,会被删除;否则不在最后一位时一定会被其右侧更大的数更新。所以在操作一时,最小值一定会被更新掉。 同理,在操作二时,最大值一定会被更新掉。 由此,操作一决定了答案的下限,操作二决定了答案的上限。 所以可以得出贪心策略:先进行 \(m\) 次操作 阅读全文
posted @ 2025-08-29 20:51 Jerrycyx 阅读(8) 评论(0) 推荐(0)
摘要: 一道字符串模拟题 总体分为两部分:读入和输出 输入 首先读入整个字符串,因为没有空格,所以可以 scanf scanf("%s",s); 依次扫描整个字符串 字母只起到分隔数字的作用,所以如果遇到非数字,直接跳过 if(s[i]<'0'||s[i]>'9') continue; 否则开始累计这个数, 阅读全文
posted @ 2025-08-29 20:49 Jerrycyx 阅读(13) 评论(0) 推荐(0)
摘要: CodeForces 上 AC 了但是洛谷上一直 UKE,我也不知道为什么,但我还是来写题解了。 思路 题目要求我们找出唯一不在正方形边上的点,很容易想到枚举每一个点,如果剔除这个点后剩下所有点都在正方形边上,那么这个点就是额外的那个点。 怎么检查所有点是否在同一个正方形的边上呢?我们可以记录所有点 阅读全文
posted @ 2025-08-29 20:48 Jerrycyx 阅读(8) 评论(0) 推荐(0)
摘要: 思路 + 算法 首先,考虑读入到 \(a_i\) 时,如果要得到此时的最优解(指所有牛的编号不重不漏地覆盖 \([1,i]\) 的所有编号),对于第 \(i\) 头奶牛,因为在它前面有 \(a_i\) 头奶牛的编号小于它,所以第 \(i\) 头奶牛的编号应当为 \(a_i+1\)。 如果有一头新的奶 阅读全文
posted @ 2025-08-29 20:48 Jerrycyx 阅读(11) 评论(0) 推荐(0)
摘要: 题目描述 有 \(N\) 头奶牛,已知它们的编号为 \(1∼N\) 且各不相同,但不知道每头奶牛的具体编号。 现在这 \(N\) 头奶牛站成一列,已知第 \(i\) 头奶牛前面有 \(a_i\) 头牛编号小于它,求每头奶牛的编号。 输入格式 第 \(1\) 行,输入一个整数 \(N\) 第 \(2. 阅读全文
posted @ 2025-08-29 20:47 Jerrycyx 阅读(7) 评论(0) 推荐(0)
摘要: 思路 根据题面,由于裁判可以随便出招,所以若 \(p\) 是作弊者裁判,所以关于 \(p\) 的所有对局都没有意义,无法得到任何有效信息。那么,如果确定 \(p\) 为裁判,则关于 \(p\) 的所有对局都可以忽略。 因此,再根据 \(\sout{N \le 500}\) 的数据,可以考虑枚举裁判 阅读全文
posted @ 2025-08-29 20:46 Jerrycyx 阅读(7) 评论(0) 推荐(0)
摘要: 更易于理解的题面 给定一个整数 \(M\) ,对于任意一个整数集合 \(S\),定义“校验值”如下: 从集合 \(S\) 中取出 \(M\) 对数(即 \(2M\) 个数,不能重复使用集合中的数,如果 \(S\) 中的整数不够 \(M\) 对,则取到不能取为止),使得“每对数的差的平方之和”最大,这 阅读全文
posted @ 2025-08-29 20:44 Jerrycyx 阅读(16) 评论(0) 推荐(0)
摘要: 分析 由题意得,开关灯的操作是可逆的,也就是说,在 \(6\) 步内可以变成灯全亮的游戏状态都可以通过将一个灯全亮的状态在按 \(6\) 步内按成。 简而言之,一个灯全亮的矩阵,在按 \(6\) 步或更少的步数后所能成为的矩阵即是所有的可还原游戏状态,且所按步数为还原的最小步数。 思路 从全亮的状态 阅读全文
posted @ 2025-08-29 20:43 Jerrycyx 阅读(11) 评论(0) 推荐(0)
摘要: CSP-2023 游记 + AFO记 曾经看了很多 AFO 的游记文章,一直都是一笑了之,没有什么别的感觉。 有些事情,亲身经历了才懂。 为了准备这一年的 CSP,我们从上学期就开始准备。教练布置了 \(300\) 道题,让我们暑假时做。题是从 CSES 上面找的,不得不说,虽然我们最后也没有一个人 阅读全文
posted @ 2025-08-29 20:38 Jerrycyx 阅读(12) 评论(0) 推荐(0)
摘要: 题目要求给定一个可能正确的式子 \(a+b=c\),要求将其进行转换得到正确的式子。 因为题目要求“把等号左边移一根火柴棒到右边”,所以很容易看出有这几种情况是可以做到的: \[a+b=c \]直接就满足条件,不用移动。 \[\begin{cases} (a-1)+b=(c+1)\\ a+(b-1) 阅读全文
posted @ 2025-08-29 20:33 Jerrycyx 阅读(4) 评论(0) 推荐(0)
摘要: 一看题目内容,这道题看似是道模拟,实际上确实是道模拟。 解析 题目中分四种类型:整数、逗号、空格、省略号。我们来分类讨论: 整数:无需处理,直接塞到 \(s\) 里面就行了。 逗号:往 \(s\) 里面加一组 , (即一个逗号加一个空格)。 空格:当两个整数内包含多个空格时,只保留一个。即只有前一个 阅读全文
posted @ 2025-08-29 20:32 Jerrycyx 阅读(12) 评论(0) 推荐(0)
摘要: 这道题可以用 \(O(1)\) 的三元一次方程来做。 我们设 \(1\) 号节点的度为 \(a\),\(2\) 号节点的度为 \(b\),\(3\) 号节点的度为 \(c\);再设 \(1,2\) 号节点有 \(x\) 条连边,\(2,3\) 号节点有 \(y\) 条连边,\(3,1\) 号节点有 阅读全文
posted @ 2025-08-29 20:31 Jerrycyx 阅读(4) 评论(0) 推荐(0)
摘要: 方法 1:暴力 用三层循环枚举每一种 \(i,j,k\) 的选择。 时间复杂度 \(O(T \times N^3)\),因为 $ 3 \leq n \leq 2 \cdot 10^5 $,所以明显不可取。 代码就不用了,因为我也没用暴力。 方法 2 根据 \(a\) 的个位来枚举 \(a_i,a_j 阅读全文
posted @ 2025-08-29 20:30 Jerrycyx 阅读(5) 评论(0) 推荐(0)
摘要: 题目描述 给定一棵树,问是否能通过一条简单路径(即在树上找一条路径且不重复走一条边),使其经过给定点集中的所有点。 输入格式 第一行,一个数 \(n\),表示点数。 以下 \(n-1\) 行,每行两个数 \(u,v\),表示点 \(u\) 和点 \(v\) 之间有一条边。 接下来是一个数 \(q\) 阅读全文
posted @ 2025-08-29 20:28 Jerrycyx 阅读(7) 评论(0) 推荐(0)
摘要: 题目描述 给定一棵树,问是否能通过一条简单路径(即在树上找一条路径且不重复走一条边),使其经过给定点集中的所有点。 输入格式 第一行,一个数 \(n\),表示点数。 以下 \(n-1\) 行,每行两个数 \(u,v\),表示点 \(u\) 和点 \(v\) 之间有一条边。 接下来是一个数 \(q\) 阅读全文
posted @ 2025-08-29 20:27 Jerrycyx 阅读(5) 评论(0) 推荐(0)
摘要: 注:这应该是最快的题解了(总共 \(321\) ms)。 简化题意 判断一个序列是否满足:该序列和严格大于其所有连续子序列和(不包括原序列) 解析 【简化题意】中“严格大于其所有连续子序列和(不包括原序列)”,可以转化成“严格大于非原序列的最大连续子序列和”。所以我们只需要求出“非原序列的最大连续子 阅读全文
posted @ 2025-08-29 20:26 Jerrycyx 阅读(6) 评论(0) 推荐(0)
摘要: 题目大意 能否将一个长度为 \(n\) 的数列分成 \(k\) 段,使每段的和相等?如果能,输出每段的长度。 解析 Yes 的情况 我们可以首先求出每段的和。我们知道,共 \(k\) 段,每段的和相等,所以每段的和就是总长度除以 \(k\)。 然后,我们可以在求出每段和后,重新扫一遍原数列,累加和并 阅读全文
posted @ 2025-08-29 20:25 Jerrycyx 阅读(6) 评论(0) 推荐(0)
摘要: 思路 典型的贪心算法。 如果要用最少的步骤把原数列改成从 \(1\) 到 \(n\) 的有序数列,即:使数列里每个数与目标数列的差之和最小。所以可得: 将原数列排序 计算每个数与目标数列的差值 累加,输出答案 最终得到的答案是: \[\sum\limits_{i=1}^n{\lvert a_i-i\ 阅读全文
posted @ 2025-08-29 20:23 Jerrycyx 阅读(13) 评论(0) 推荐(0)
摘要: 题目翻译 如果两组名字内除原音字母(即字母 a e i o u) 外完全相等,那么就认为这两个名字是相同的。现在要求判断两个名字是否相同。 共有 \(n \ (n\!\le\!20)\) 组数据。对于每组数据,两行分别输入两个名字。 每组数据对应一行的输出,若两名字相同则输出 Yes,不同则输出 N 阅读全文
posted @ 2025-08-29 20:22 Jerrycyx 阅读(6) 评论(0) 推荐(0)