摘要: 思路 朴素做法 当输入 \(a_i\) 后,直接将它及它的子树进行变换。而这样时间会超时。预计得分 \(40\) pts。 正解 统计每次变换的节点编号,第 \(i\) 个节点作为根节点进行子树变换的次数为 \(rec_i\)。最后从这棵树的根节点 \(1\) 开始向下 dfs,则每个节点变换的次数 阅读全文
posted @ 2024-08-20 17:53 Laoda_Bryant 阅读(68) 评论(0) 推荐(0)
摘要: 这是一道模拟题。 前置知识 数级 思路 当读取到了 thousand 和 million 时,计数器要乘上对应的值并累加到最终答案里,并且把计数器归零(因为该数级已经计算完了)。 当读取到 hundred 时,只要计数器乘上 \(100\)。 否则如果是其他数,则直接累加到计数器即可。 AC cod 阅读全文
posted @ 2024-08-20 17:50 Laoda_Bryant 阅读(10) 评论(0) 推荐(0)
摘要: 前置知识 位运算 按位与的运算规则: 二进制下,相同位的两个数字都为 \(1\),则为 \(1\);若有一个不为 \(1\),则为 \(0\)。 分析 由按位与的运算规则可以得到:\(A\&A=A\),而题目中的两次提交可以是相同的,所以两次都只需要取 \(n\) 个数中最大的数即可。 AC cod 阅读全文
posted @ 2024-08-20 17:48 Laoda_Bryant 阅读(16) 评论(0) 推荐(0)
摘要: 题意 给定一个长度为 \(n\) 的01字符串,有以下两种操作: 将一个子串翻转,花费 \(X\) 将一个子串进行取反,花费 \(Y\) 求把原字符串变为全是 \(1\) 的字符串的最小代价。 思路 只有 \(2\) 操作的情况下 贪心策略。考虑到任意范围取反的花费相同,我们可以将相同的部分合并,如 阅读全文
posted @ 2024-08-20 17:47 Laoda_Bryant 阅读(20) 评论(0) 推荐(0)
摘要: 试题 \(\mathrm{A}\) : 平方序列 暴力枚举 \(x\),通过 \(x^2-2019^2\) 求出它们的公差 \(c\),再计算 \(x^2+c\) 是否为完全平方数即可。 code #include<bits/stdc++.h> #define int long long using 阅读全文
posted @ 2024-08-20 17:42 Laoda_Bryant 阅读(21) 评论(0) 推荐(0)
摘要: 思路 由于每次输入 \(x\) 和 \(y\) 只改变其上下左右的值,所以每次只要更新其相邻的值即可。 当某个位置相邻的奶牛数达到 \(3\) 时,舒适度加一。 当某个位置相邻的奶牛数达到 \(4\) 时,舒适度减一。 注意:每增加一头奶牛以后,如果该位置相邻正好有三头奶牛,则舒适度也要加一。 AC 阅读全文
posted @ 2024-08-20 17:40 Laoda_Bryant 阅读(22) 评论(0) 推荐(0)
摘要: 本题题意 给一个字符串,将其分成等长度的字符串,但是分的行数不能超过 \(5\) 行,每行的长度不得超过 \(20\)。如果无法等分的,则用 * 来补足长度。输出在行数最小的前提下,列数最少的一种方案。 思路 由于字符串范围最多也就 \(20\times5\),直接分类讨论即可。 AC code # 阅读全文
posted @ 2024-08-20 17:39 Laoda_Bryant 阅读(9) 评论(0) 推荐(0)
摘要: 本题题意 有 \(n\) 个议员,编号为 \(1 \sim n\),就坐在 \(a \times b\) 的礼堂里,求如何安排座位能够使得任意两个相邻的座位上的议员奇偶性不相同。 思路 无解情况 当 \(n > a \times b\) 时,必定无法满足,则直接输出 -1。 有解情况 打表找规律。 阅读全文
posted @ 2024-08-20 17:36 Laoda_Bryant 阅读(9) 评论(0) 推荐(0)
摘要: 本题题意 小 A 和小 B 在一个 \(n \times n\) 的棋盘里下柯基棋,当一个人不能再放下棋子时,他就输了。问谁会有必胜策略。 思路 先不考虑小 C 的捣乱。 分类讨论 当 \(n\) 为奇数时,不难得出:当小 A 第一步放在棋盘的正中心时,以后不管小 B 放在哪里,小 A 只要放在它的 阅读全文
posted @ 2024-08-20 17:34 Laoda_Bryant 阅读(39) 评论(0) 推荐(0)
摘要: 题意&翻译 输入 \(T\) 组数据,每行数据有 \(n\) 个电话号码,最后再输入一行电话号码 \(t\)。输出前面与 \(t\) 相差不超过一个字符的电话号码。 思路 把前面的 \(n\) 个电话号码逐个与 \(t\) 比较即可。 AC code #include<bits/stdc++.h> 阅读全文
posted @ 2024-08-20 17:33 Laoda_Bryant 阅读(7) 评论(0) 推荐(0)