【A】Shinichi Kudo

https://www.luogu.com.cn/training/873086

qoj14429. Sequence Is Not Subsequence

下记 \(f(S)\) 表示 \(S\) 的答案。

  • \(f(aaa...a)=|S-1|\times a\)
  • \(f(ab)=ba\)
  • \(f(abS)=ba+f(bS)\)
  • \(f(aaaabS)=aaaba+f(bS)\)

P13309 演剧

套路是二分判定答案,转 01。
对于 \(c_0,c_1\) 不等的时候,较多者胜。
那么 \(c_0=c_1\) 的时候,一定只会分割出 \(c_0=c_1\) 的段,于是我们划出这些极短的段,若段数为奇数先手输。

P14134 【MX-X22-T5】「TPOI-4E」Get MiN? Get MeX!

堆维护当前 op1 值最小的区间,然后每次往较小的方向走,相等都放进堆。当你有两个 op1=1 的时候说明 01 分开了,这时候我们用一个 op2 区分他们,最后到叶子就知道哪个是 0。
发现过不去,那么首先给下标随机打乱,然后 op2 之后只会有一个儿子是有用的。那么我们可以随机问一个儿子,问到 op1=1 就直接递归否则继续问。过了。

正解是 op 2 之后就二分找 0。

P14480 化作彗星

\(\color{Red}\mathtt{\Gamma}\)

AT_arc202_b [ARC202B] Japanese "Knight's Tour"

首先 \(H\) 必须是 2 的倍数。然后我们把这个行的循环展开一下转化为第 \(i\) 行可以跳到第 \(i+1\) 行。
发现 \(W\) 的奇偶性很重要,于是我们进行分类讨论:

  • \(W\bmod 2=1\)
    • 将移动描述为 \(\pm 1\),由于移动的和是 \(\bmod W=0\),则必须全部都是 \(1\) 或者 \(-1\)
    • 考虑对于每行的这个 \(1\) 或者 \(-1\) 求和,当 \(\gcd(\sigma_{move},W)=1\) 时可以遍历所有的格子。
  • \(W\bmod 2=0\)
    • 还可能出现交叉的一种情况。也就是一行中,奇数位置的移动必须相同,偶数位置同理。
    • 发现这个东西相当于有 \(2H\) 行的情况。

于是我们求有多少种给 \(n\)\(a\) 满足 \(a_i\in \{1,-1\},\gcd(\sum a,W)=1\)。其中 \(W\) 是偶数的时候,要求 \(\gcd=2\) 即可。

P14481 星命定轨

首先假设 \(n\bmod 3=0\),操作到序列为空。
可以把删除改成标记。操作等于,每次选择未被标记的三个数 \(a,b,c\),然后对 \(S\) 的贡献为 \(v_{(a,c)}\) 的最小值。容易证明操作若不是包含关系一定更劣。
然后是,每次操作取到的最小值的位置可以是互不相同的。考虑存在相同的话我们可以调整使得只有至多一个操作跨过最小值。
那么可以建出小根笛卡尔树,对于某个节点 \([l,r]\),我们可以设 dp \(f_{l',r'}\),满足 \(l-l'\in[0,1],r'-r\in[0,1]\),表示区间 \([l',r']\) 进行不断消除得到的答案。
考虑区间 \([l,r]\) 的最小值 \(v_k\),我们可以划分 \(k\) 属于左侧还是右侧进行转移。最后左右可能还剩下小于 3 个,他们的贡献为 \(v_k\)

P13552 鱼类考古学

显然有 \((a+b)\otimes c\le c,(a\otimes b)+c\ge c\)。于是我们把所有的 \(\otimes\) 先做完再求和一定最优。
转化为需要将数划分为 \(k\) 个集合,最大化集合内数按位与之和。
从高位到低位贪心是对的,考虑如下这个过程:

  • 若第 \(i\) 位不足 \(k\) 个 1,那么他们各自划分为一个集合,剩下的递归。
  • 否则,0 一定都在一个集合内,把他们压成按位与后进行递归。

P13714 淘汰(Hard ver.)

posted @ 2025-11-13 21:37  TallBanana  阅读(14)  评论(0)    收藏  举报