专栏文章

题解:P14636 [NOIP2025] 清仓甩卖 / sale

P14636题解参与者 3已保存评论 3

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
3 条
当前快照
1 份
快照标识符
@min09zr1
此快照首次捕获于
2025/12/01 18:28
3 个月前
此快照最后确认于
2025/12/01 18:28
3 个月前
查看原文
特判 m=1m=1。先考虑正难则反,把会没掉的方案数算出来。
aa 从大到小排序。考虑枚举一个 ii 满足 wi=2w_i=2,此时任何 j<i,wj=2j<i,w_j=2 以及 2ak>ai,wk=12a_k>a_i,w_k=1 的糖果 j,kj,k 都会被选中。注意根据定义,ii 不会被选中。那么,没掉的方案有两种可能:
  • 所有 wk=1w_k=1 的糖果 kk 都满足 2ak>ai2a_k>a_i,他们都被选中。所有选中的糖果(包括 ww 值为 22)的 ww 之和恰为 m1m-1
  • 存在两个被选中的糖果 l,ol,o 使得 wl=wo=1w_l=w_o=1l<ol<o2al>ai2a_l>a_i2aoai2a_o\le a_i 且所有 k>o,wk=1k>o,w_k=1 的糖果 kk 都没被选中,所有 kl,wk=1k\le l,w_k=1 的糖果 kk 都被选中。所有选中的糖果(包括 ww 值为 22)的 ww 之和恰为 mm
对于第一种情况,枚举 wi=2w_i=2ii,以及 aja_j 最小(也就是 jj 最大)的 wj=1w_j=1 的糖果 jj。这个 jj 需要满足:
  • 2aj>ai2a_j>a_i
  • 对于所有 k>jk>jwk=2w_k=2
此时,这个方案能产生贡献当且仅当 aj<aia_j<a_i。把上面的东西判完之后对这样的方案计数:
  • 我们要在前 max(i,j)\max(i,j) 个位置中去除掉 i,ji,j 这两个已经知道 ww 值的位置,剩下的 max(i,j)2\max(i,j)-2 个位置中填入合适数量的 1122,使得下列两个值:
    • 满足 l<i,wl=2l<i,w_l=2ll 的数量乘 22
    • 满足 l<j,wl=1l<j,w_l=1ll 的数量。
    加起来正好等于 m2m-2(这里为什么不是 m1m-1 是因为 jj 也会被选中,要去掉它)。同时,我们还要求对于 j<l<ij<l<iwl=2w_l=2。若 j>ij>i 则无限制。
    这样的方案数记作 di,jd_{i,j},具体求法见下文。
  • 剩下的位置填 22,方案数为 11
对于第二种情况,枚举 wi=2w_i=2ii,以及上文提到的 l,ol,o。此时需要满足:
  • 2al>ai2a_l>a_i2aoai2a_o\le a_i
  • 对于所有 l<k<ol<k<owk=2w_k=2
此时,这个方案能产生贡献当且仅当 al+ao<aia_l+a_o<a_i。把上面的东西判完之后对这样的方案计数:
  • 我们要在前 max(i,l)\max(i,l) 个位置中去除掉 i,li,l 这两个已经知道 ww 值的位置,剩下的 max(i,l)2\max(i,l)-2 个位置中填入合适数量的 1122。。。等等?这和第一种情况里的如出一辙,那我们就知道这个值为 di,ld_{i,l}
  • 我们要在后 o1o-1 个位置中任意选,所以这个方案数是 2no2^{n-o}
  • 我们要在 max(i,l)<k<o\max(i,l)<k<okk 中填 22oo 中填 11。方案数为 11
现在,如果我们知道怎么求 di,jd_{i,j},那就可以 O(n3)O(n^3)。在求 dd 之前,我们先把第二种情况优化一下,使得除去求 dd,剩下的复杂度为 O(n2)O(n^2)
我们发现,第二种情况的 oo 可以扔到外面去,具体地,固定 ii,随着 ll 的增加,满足条件的 oo 一定是个后缀,而这个后缀的边界会越来越向左,直到边界撞上 max(i,l)\max(i,l) 为止。撞上之后,任何 o>lo>loo 都将满足条件。因此我们拿个指针维护这个边界,随着边界向左扩张动态维护当前的总方案数就可以了。
问题变为了求 di,jd_{i,j}
  • 对于 i>ji>j,注意到此时 1i1\sim iww 值为 11 的位置数是固定的,di,jd_{i,j} 就是一个组合数;
  • 对于 i<ji<j,我们发现下面两个值的和:
    • 满足 l<i,wl=2l<i,w_l=2ll 的数量;
    • 满足 i<l<j,wl=1i<l<j,w_l=1ll 的数量。
    是定值,此时 di,jd_{i,j} 也是一个组合数。
至此我们完成了本题,时间复杂度 O(n2)O(n^2)

评论

3 条评论,欢迎与作者交流。

正在加载评论...