蓝桥杯系列题解

共 2018 字
5 分钟

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)$。

因此就做完了。

Licensed under CC BY-NC-SA 4.0