P16232
签到题。
以下令 $k = 2026202520242023$。
当我们考虑 $x$ 时,发现 $y$ 可以表示为 $k-x$。又因为要求 $y \ge x$ 且 $x \ge 0$,可以列出不等式:
$$ k - x > x \ge 0$$即
$$ 0 \le 2x < k$$即
$$ 0 \le x < \frac{k}{2}$$即
$$ 0 \le x < 1013101260121011.5 $$又因为 $x$ 为非负整数,可以转换为 $x \in [0,1013101260121011]$。数一下这个区间里的整数个数就可以了。
答案被吃了。
P16234
签到题。
当 $n=1$ ,显然 $y-x+1$ 种方案都是可行的,直接输出。
否则,由于只右移 $1$ 位,所以当循环节 $ \ge 2 $ 时,这个循环节会被破坏,无法再重新构成原串了。所以循环节必定为 $1$,因此还是有 $y-x+1$ 个方案。
因此对于每一个询问,直接输出 $y-x+1$ 就可以。
P16235
签到题。
首先如果人数不是 $5$ 的倍数肯定组不成组,直接判掉。
令组成的组数 $m = \frac{n}{5}$。容易发现一个位置的人数一定不能超过 $m$。
为什么呢?
因为一共只有 $m$ 组,如果某一个位置有 $m+1$ 人,根据抽屉原理,必然有一队会分到至少 $2$ 个人,不符合要求。
扫一遍看有没有 $\ge m$ 个人的位置就好了。
这样就做完了。
P16275
讲个笑话:全输出 NO 可以获得 $45$ 分。不可以,总司令!
很显然,质数不可能是多个非 $1$ 的正整数的乘积。
这也就意味着,在若干次操作后,一定仅有且仅有一个 $v_i \ne 1$ 且是质数,其他都 $= 1$。
可是,这个操作好像看不出来什么性质……
不过如果我们手玩几个小数字,就会发现最后都落到了 $2$ 上。$2$ 也是质数,所以我们可以想办法证明:
对于一个 $\ge 2$ 的正整数 $x$,在有限次操作后一定会得到 $2$。
首先我们证明在操作中 $x$ 在 $\ge 2$ 时单调递减。
对于 $x$,其因数一定成对出现。若 $a$ 为 $x$ 的因数,则 $b=\frac{x}{a}$ 也是 $x$ 的因数,且其中必有一个 $\le \sqrt{x}$,另一个 $\ge \sqrt{x}$。因此 $\le \sqrt{x}$ 的因数最多有 $\lfloor \sqrt{x} \rfloor$ 个。又因为他们成对,所以有 $d(x) \le 2 \sqrt{x}$。
解 $2 \sqrt{x} < x$,得 $x>4$。
手玩 $3,4$,发现其满足性质。
因此对于 $x \ge 2$ 的正整数,$d(x) < x$。
再算一下 $2$,发现 $d(2)=2$。也就是说,$2$ 永远不会到 $1$ 上。
因此这题就很简单了。我们只需要看是不是有且仅有一个 $v_i \ge 1$ ,其他都 $= 1$。
P16224
注意到 $\lceil \log 2026202620262026 \rceil =51$。也就是说,它在二进制下有 $51$ 位。
均衡数的 $0$ 和 $1$ 个数相同,那么位数肯定是 $50$ 或 $52$。最大的 $50$ 位均衡数为 $(11111111111111111111111110000000000000000000000000)_2$,最小的 $52$ 为均衡数为 $(1000000000000000000000000001111111111111111111111111)_2$,比一下谁更近即可。
P16226
显然我们可以算出两个数据包可能的位置。
那么偏差最小值一定在他们的中点。为什么?
如果他们的差 $d$ 是偶数,则到两边的距离都是 $\frac{d}{2}$。一旦左移或右移,必有一个方向超过该值。
如果 $d$ 是奇数,则到两边的距离一个是 $\lfloor \frac{d}{2} \rfloor$,一个是 $\lceil \frac{d}{2} \rceil$,显然差为 $1$。这两个值可能互换,但要是走得太多两个的最大值就会 $> \lceil \frac{d}{2} \rceil$。
因此做完了。
P16233
我们定义差分数组 $D_k = A_k \oplus A_{k+1}$。初始时,$\forall 1 \le i \le n,D_i=0$。
转化操作,发现:
第奇数次操作等价于反转 $D_{i-1}(i > 1)$ 或反转 $A_1 (i = 1)$,第偶数次操作等价于反转 $D_i (i < n)$ 或反转 $A_1 (i = n)$。
因此我们可以发现每此操作可以随便改变一个 $D_i$ 或全局反转。因此,如果我们的最终差分数组 $D^{\prime}$ 与全 $0$ 差了 $w$ 处,则要操作 $w$ 次。如果 $A_1$ 不同,还要再额外引入一步。
在差异位数固定为 $w$ 的情况下,有 $\binom{n-1}{w}$ 种组合,可以分为 $A_1 = 0$ 或 $1$ 两种状态,操作次数分别为 $w$ 和 $w+1$。
因此我们只要求
$$ \sum_{w=0}^{n-1} \binom{n-1}{w} \times (w+w+1) = \sum_{w=0}^{n-1} \binom{n-1}{w} \times (2w+1)$$即可。利用组合数学的求和公式,得原式为:
$$2(n-1)2^{n-2}+2^{n-1} = n \times 2^{n-1}$$直接输出即可。
P16276
考虑 $pre_i$ 表示第 $1 \sim i$ 位选出 $n$ 个数的最大值,$suf_i$ 表示第 $i \sim 3n$ 位选出 $n$ 个数的最小值。
这两个东西可以用堆维护,只保留最大 / 最小的 $n$ 个数,同时计算堆中所有数之和。
然后可以枚举中转点,计算 $pre_i - suf_i$ 并求最大。注意可能边界条件比较多。
时间复杂度是 $O(n \log n + n)$ 的。
P16237
很显然第一问求的就是联通块数 $-1$,感性理解可以是把一个连通块缩成点,最终构成一棵树。
考虑第二问,为了方便,令上一问答案为 $m$。
显然一共有 $m$ 对之间要连,最终肯定有 $2m$ 个端口被占用。平摊给 $n$ 台电脑即可。
P16251
巴巴博弈!
维护一个 $w$ 代表当前局面。若 $w=0$,则先手必败,反之亦然。
显然当一个节点也没有的时候 $w=0$。
每次新加入一个节点 $x$:
如果当前 $w=0$,那么 L 就可以一次把这个节点的数字全拿走,把必败态留给 Q。
如果当前 $w=1$,则 L 一定会想办法留住必胜态,则它将会把这个节点降为 $1$,此时 Q 只能拿完这个节点,必胜态仍在 L 手里。但如果 $x=1$,则 L 只能全部拿完,必胜态给 Q。
因此我们可以得到加入一个节点的转移:
若 $w=0$,则 $w \leftarrow 1$;
若 $w=1$,则 $w \leftarrow (x>1)$。
因此就做完了。