随笔分类 - Codeforces
摘要:A. Two Groups 数组和的绝对值即为答案。 B. BAN BAN 大概就是尽可能把前面的 B 搞到后面,尽可能把后面的 N 搞到前面。 答案为 $\lceil \frac{n}{2} \rceil$ ,操作为每次交换正数第 $i$ 个 BAN 的 B 和倒数第 $i$ 个 BAN 的 N
阅读全文
摘要:咕咕咕。 C2. Make Nonzero Sum (hard version) 易得有奇数个非零值时无解。 现在考虑将相邻的两个非零值配对,只要每一个非零值对都搞成和为零,总的和就为零。 由于非零值只有正负一,所以对于一个非零值对,考虑前者符号不变,看情况改变后者符号即可。 AC代码 // Pro
阅读全文
摘要:E2. Divisible Numbers (hard version) 用 pollard rho 跑出 $ab$ 的质因数分解,然后 dfs 枚举 $ab$ 的所有因子对 $x, y$,如果存在 $k_1, k_2$ 使得 $a < k_1x \le c$ 且 $b < k_2y \le d$,
阅读全文
摘要:A. Consecutive Sum 根据下标模 $k$ 的结果把数组分成 $k$ 类,连续的 $k$ 个数字必定种类互不相同,然后就把每一类最大的那个数求出来然后累加即可。 B. Rule of League 假设 $x < y$。 假设有 $a$ 个人赢 $x$ 场, $b$ 个人赢 $y$ 场
阅读全文
摘要:咕。 B. Optimal Reduction 观察可得:对于所有$b$,其中要求操作次数最少的为$\max { a }$. 然后就是看$f(a)$是不是等于$\max { a }$了,这个只需要满足$a$是单峰的就行。 AC代码 // Problem: B. Optimal Reduction /
阅读全文
摘要:咕咕咕。 D. Color with Occurrences 题意 给定文本串$t$,和$n$个模式串$s_i$。 初始时$t$的每个字符都是黑色的,如果$t$的某个子串和$s_i$相等,则可以通过一次染色将这个子串中的字符都染成红色。 一个模式串可以用多次,$t$中的一个字符可以被染色多次,红色的
阅读全文
摘要:咕咕咕咕。 E. Split Into Two Sets 题意 有$n$张牌,每张牌上写有两个数字,问是否能将牌分成两个集合,使得单个集合中的牌上的数字构成的集合没有重复元素。 其中$2 \le n \le 2 \times{10}^5$。 思路 转化成图论问题,令每个数字对应一个节点,问题从将牌分
阅读全文
摘要:A. NIT orz! 观察可得:$z$二进制表示中包含的$1$的个数非增。 由此最大的数一定可以在第一步得到,值为$\max_i a_i \operatorname{or} z$。 B. NIT Destroys the Universe 首先,一段连续的非0子数组可以一次操作变成全0。 然后,通
阅读全文
摘要:前面的题感觉没啥好写的,咕咕咕 H. Gambling 题意 给定一个长度为$n$的数组$x$,问使得最终钱数最大的$a, l, r$。 收益的计算方式为,初始有$1$的钱,从$x_l$到$x_r$,遇到一个$x_i = a$钱就乘二,反之除2。这里的除法不取整,就是说会搞出$\frac{1}{2}
阅读全文
摘要:A. Parkway Walk 如果能量不足就补充至恰好足够,然后模拟。 B. Promo 易得:选最贵的$x$个商品最优。 然后排序加前缀和优化就可以$O(n\log n) \sim O(1)$做。 C. awoo's Favorite Problem 从左至右遍历$s$,假设遍历到$i$,如果$
阅读全文
摘要:A. Lex String 题意 给定长度为$n$的串$a$和长度为$m$的串$b$,保证没有字符同时出现在两个串中。 有一个初始为空的串$c$,支持以下两种操作: 从$a$中选一个字符,将其从$a$中删除,然后加到$c$的末尾。 从$b$中选一个字符,将其从$b$中删除,然后加到$c$的末尾。 还
阅读全文
摘要:打工人下班晚了,到家只剩一个小时了,做完最后两题夜宵外卖到了,前面的题先咕咕了。 F. Shifting String 题意 给定一个长度为$n$的字符串$s$和一个长度为$n$的排列$p$。 定义乘法:字符串$s_1s_2\dots s_n$乘上排列$p$等于$s_{p_1}s_{p_2}\dot
阅读全文
摘要:A. Cirno's Perfect Bitmasks Classroom 题意 给定一个数$x$,输出满足$x \operatorname{and} y > 0$且$x \operatorname{xor} y > 0$的最小的$y$。 其中$1 \le x \le 2^{30}$。 思路 就是$
阅读全文
摘要:A. Game with Cards 题意 两个人,每个人手上有一些牌,牌上写有数字。两个人轮流出牌,其中一个人先出,后面如果要出牌,牌上的数字必须比前一张牌要大。第一个不能出牌的人就输。 问两个人是否是先手必胜? 每个人牌的数量至多为$50$。 思路 答案只和两个人手上最大的牌有关。先手必胜当且仅
阅读全文
摘要:A. Minimums and Maximums 题意 问同时满足下列条件的最小数组长度: 至少有$l_1$个,至多有$r_1$个元素等于最小值 至少有$l_2$个,至多有$r_2$个元素等于最大值 思路 首先肯定是只包含最小值和最大值数组长度会更小。 然后就是如果最小值和最大值相等的情况,这种情况
阅读全文
摘要:A. Food for Animals 优先买前两种,再用第三种。 B. Make It Increasing 感觉自己写复杂了。 $dp_{i, j}$表示第$i$个元素使用$j$次操作的代价。 \[ dp_{i + 1, k} = \left\{ \begin{aligned} &\min_j
阅读全文
摘要:A. Number Transformation 令$a = 1$,则$b = \dfrac{y}{x}$。 B. Dictionary 暴力预处理出完整的字典,然后用std::map存单词和下标的映射。 C. Infinite Replacement 如果$t$等于a,则答案为$1$。 否则,如果
阅读全文
摘要:A. String Building 长度为$2$和$3$的可以构造出任何长度大于等于$2$的,所以将原序列分割成多段字符相同的极大子串,如果存在长度为1的则无解,反之有解。 B. Consecutive Points Segment 枚举第一个元素,然后就可以贪心了,具体就是$x_{i - 1}$
阅读全文
摘要:比赛链接 A. GCD vs LCM 1, n - 3, 1, 1 B. Array Cloning Technique 首先,最后全部相等的元素,肯定是选初始时出现次数最多的元素,记该元素为$x$,其出现次数为$c$。 然后每次复制,都是新的拷贝中,所有的$x$都拷回原数组。这里,易得把数拷回原数
阅读全文
摘要:比赛链接 A. Array Balancing 如果$a_i > b_i$,那么就对换,反之不对换。 B. Getting Zero 一开始写递归发现死循环了,改成写BFS就能过。 C. Water the Trees 最后的状态会是所有元素都等于初始状态所有元素中的最大值。 然后二分。 D. Pr
阅读全文