CF1649A Solution

Solution 只能跳一次,那么说明我们只可能通过一次大跳来跳过所有含水格子。大跳的代价与距离成正比,所以大跳的距离越小越好。 那么,大跳就从最左边的水格子前起跳,跳到最右边的水格子后即可。 12345678910111213141...

CF1649B Solution

Solution 重点在于如何利用 “每个人传出球的次数是给定的(传入不算次数)。” 找出踢球数最大的人,这个人的踢球数可以消耗其他人的踢球数。 若其他人的踢球数总和大于踢球数的人,这些人可以自己内部对踢(无论是一对一还是多对多,反正...

CF1646A Solution

Solution 结论: 题目中,首先看到了 结果唯一。所以证明的起点就在这里。 因为 范围内的数至多有 个,最小总值为 ,最大总值为 ,所以数列中的 不能被 范围内的数代替,因此答案唯一。 1234567891011121...

CF1646B Solution

Solution 贪心。想要 和大于 和,而且 数量还得更少,那么只能让 中的元素远远大于 中元素。 那么排一遍升序,从左到右选,左边选 个数当做 ,右边选择 个数当做 ,如果扫完全序列都不能满足,那必然是 nO 了。 ...

CF1646C Solution

Solution 首先, 是不可能的。因为任意一个非负整数都可以转换成对应的二进制。而对应二进制位上的 ,单独拿出来,就都是强数。 比如 。 那么,现在就想,如何使 (即分解个数)最小了。 若直接枚举强数相加,那么时间复杂度为 。比较...

CF1651A Playoff Solution

Transplate 这些数将进行淘汰赛。规则如下。 第一轮比赛由相邻两个数比较。即 。 之后比赛由上一轮比赛的胜出者进行比赛。 两个数加和若为奇数,那么小的数胜利;若为偶数,那么大的数胜利。 问最终留下来的数是哪个数? Sol...

CF1651B Prove Him Wrong Solution

Solution 题目要求对于任意 都要满足 。 有绝对值,不妨 。所以有 解得 所以只要让数等于前面那个数的三倍即可。初始数为 。(升序,对于任意 都满足,因为是绝对值对称的) 注意到,样例中有输出 NO 的情况。是什么原因...

CF1654A Solution

Solution 发现只要选择任意两个数,都可以通过一次操作将他们两个放在相邻的地方。 若设处理的两个数为 和 , 如果 ,只要翻转 即可。 如果 ,只要翻转 即可。 那么,只要找到序列中最大的两个数,加和输出即可。 时 ,空 ...

CF1654B Solution

Solution 初看这道题,诶,有点难度,果然是 Div.1 + Div.2 的难度啊,AC 自动机? 啊不不不,完全可以不用 AC 自动机。 可以发现,只需要查找第一个字母是否出现在后面即可。 设字符串为 。 如果 在后面出现...

CF1654C Solution

Solution 暴 力 是不可能不打的。 这道题目有两种暴力方法。 一种从合并角度看,将相邻的两个数依次合并,看是否能合并完成。 但我选择的是更直观的暴力打法。 将总和依次分解,想到每一次的分解结果要是有对应的数字就消掉,剩下的分解...