混合(ZR 二十联测 A + MX 炼石 ABC)

第一次过 200 是因为放了 2 个 A .jpg


混合(ZR 二十联测 A + MX 炼石 ABC)

A:ZR 2025 NOIP 二十连测 Day 4 A
B:MX 练石 2025 NOIP #11 A
C:MX 练石 2025 NOIP #11 B
D:MX 练石 2025 NOIP #11 C

链接:A B C D
题解:A BCD

时间:4.5h (2025.10.16 13:40~18:10)
题目数:4
难度:

A B C D
\(\color{#52C41A} 绿\) \(\color{#F39C11} 橙\) \(\color{#52C41A} 绿\) \(\color{#9D3DCF} 紫\)
*1700 *1100 *1600 *?

估分:100 + 100 + 25 + 20 = 245
得分:100 + 100 + 25 + 20 = 245
Rank:2/6


场祭

读 AB。

啊 B 的数据范围只有 \(50\)?那不直接暴力啊?

不过还是先去开了 A,想了想会了两边分别是排列的做法,直接从右往左依次删 \(n \sim 1\) 即可,经过手玩样例证明这是对的,写写写,过大样例了。

然后尝试推广,发现似乎可以被一个序列划分成若干个两边分别是排列的序列!写写写,一测样例发现是假的,比如 131232 就不是这样的。

不会了,写个假的贪心吧,直接按照第一次出现位置从右往左暴力操作,发现……?怎么过大样例了??

1.5h。

花 30min 迅速写掉了 B。

C 怎么是数数题。观察了一下发现最终序列一定是中间高两边低的,然后有若干个从中间往两边降的连续段,总之是这么个形态,所以考虑用这个来 dp,令 \(f_{i,j}\) 为剩下 \(1 \sim i\)\(i\) 个数,当前长度为 \(j\),并规定最后一个放的数并没有被覆盖的方案数,转移考虑往哪边走,会出现下面这几种情况:

 9
  8
   7
    6(往同向走)
 9
  8
   7
  .
 .
4(往反向走)
 9
  8
   7
  .
 .
  .
 .
2(往反向走但是上面经过几段折线)

然后统计答案直接考虑最后一个没有覆盖的数是哪个即可。写写写,样例没过,处理了些边界情况,大样例还是过不了。

还剩 1.5h 不写了,打暴力!

D 暴力似乎很难写,于是先把第一个特殊性质写了,容易发现答案就是先枚举两边的操作顺序,再把这两个没有关联的排列插到一起的方案数,就是 \(2^{x-1} \cdot 2^{y-1} \cdot \binom {x+y} x\),然后发现没过样例,哦哦哦操作顺序只有一个,那就是 \(\binom {x+y} x\) 了,过了。

暴力果然十分难写,没调出来。


补题

补 C,草我思路对完了呀??草忘记考虑往同方向也可以走几段折线的情况了。我是【】!


天依宝宝可爱!

posted @ 2025-10-17 08:19  little__bug  阅读(35)  评论(0)    收藏  举报