CF1554

A. Cherry

给一个序列,求所有大小大于等于 2 的区间 min 乘 max 的最大值。

考虑增量构造。假设我们已经求得一个区间的 min 和 max,现在在其右端扩展一个数。只可能 min 变小,或者 max 变大。讨论这两种情况,min 变小肯定不优;而如果是 max 变大,考虑删除该区间左边的一些数,max 和 min 均不会变小。那么这样就得到了一个很强的结论,即最终产生的答案的区间的长度一定是 2。所以对所有 \(a_i \times a_{i+1}\) 取 max 即可。

B. Cobb

给定序列 \(a (a_i\leq n)\) 和 常数 \(k\leq 100\),求 \(f(i,j)=i\times j-k\cdot (a_i|a_j)\) 的最大值,其中 \(i\neq j\)

这道题的突破口在于值域,\(k\leq 100\)\(a_i|a_j \leq 2n\) 都很小,但是 \(i\times j\leq n^2\) 很大,所以有一个猜想,即是说答案在 \(i\)\(j\) 比较大的时候产生。先考虑考虑一个可能的答案 \(f(n,n-1)\geq n(n-1)-k\times 2n=n^2-2kn-n\),而任何比这个值小的都不可能成为答案,又有 \(f(i,j)\leq i\times j\)(假定 \(i<j\)),要使得其成为答案,就必须 \(ij \geq n^2-2kn-n\),那么 \(i\) 的范围就是 \([\frac{n^2-2kn-n}{j},n]\),容易发现必须 \(i\)\(j\) 都大于等于 \(n-2k\) 时,这个区间才不是空集,那么我们只需要枚举 \(O(k^2)\) 次即可。

C. Mikasa

给出 \(n,m\leq 10^9\),求数列 \(0 \oplus n\)\(1 \oplus n\)\(\dots\)\(m\oplus n\) 的 mex 。其中 \(\oplus\) 表示异或。

实质上是找出最小的 \(k\) ,使得 \(k \oplus n\geq m+1\),考虑从高到低按位计算,记 \(n\) 当前位是 \(x\)\(m+1\) 的是 \(y\)

  1. 如果 \(x=y\) 跳过即可。
  2. 如果 \(x=1,y=0\) 直接结束,因为已经大于等于 \(m+1\) 了。
  3. 如果 \(x=0,y=1\) 则把答案异或上当前位。

D. Diane

构造一个长为 \(n\) 的串,使得每种子串均出现奇数次。

场上想复杂了。考虑一个长为 \(k\) 的串 \(aaa\dots a\)\(k\) 是奇数,那么 \(a\)\(aa\)\(\dots\) 的奇偶性分别是奇、偶、\(\dots\)\(k\) 是偶数时类似。考虑两个长为 \(k\)\(k-1\) 的这样的串,中间用一个 \(b\) 连接,由于 奇+偶=奇,最终所有串都出现奇数次。这里取 \(k=\lfloor \frac{n}{2} \rfloor\) 即是答案。注意 \(n\) 是奇数时,应用 \(bc\) 连接。

E. You

给定一棵树。每次删去一个点,这个点权值 \(a_u\) 定为与它相连且未删去的点的个数。对每个 \(k\in[1,n]\) ,求 \(gcd(a_1,a_2,\dots,a_n)=k\) 的序列个数,方案不同当且仅当 \(\{a_n\}\) 不同。

首先要把删点转换成给边定向,也就是说删去一个点就把与它相连的边指向它,权值就变成了入度。有 \(n-1\) 条边,就共有 \(2^{n-1}\) 种序列。先考虑 \(k\geq 2\) 的答案。由于 \(k \geq 2\),所以对于叶子结点的边,只能指向父亲。那么删去这些叶子结点后,新的叶子结点的入度就一定不为 0 了,当前入度记为 \(a_u\),儿子都已经定了,只有指向父亲的这条边还可能有贡献,最终的入度只可能是 \(a_u\) 或者 \(a_u+1\),又由于 \(k\geq 2\) 所以 \(a_u\not\equiv a_u+1 \pmod k\),只可能其中一个是 \(k\) 的倍数,要使得 \(k|a_u\) 那么方案是唯一的。所以对所有 \(k\geq 2\),答案要么是 0 要么是 1。由于每条边只会有 1 的贡献,所以最终所有点的入度和一定是 n-1,又要是 \(gcd=k\),那么每个 \(a_u\) 都是 \(k\) 的倍数,那么一定有 \(k|n-1\)。所以只需要暴力判断 \(n-1\) 的因子即可。这样就可以求出所有 \(k\geq 2\) 的答案,那么 \(k=1\) 的答案就是 \(2^{n-1}\) 减去这些的和。

posted @ 2021-08-02 15:31  Kreap  阅读(33)  评论(0编辑  收藏  举报