专栏文章

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

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

文章操作

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

当前评论
2 条
当前快照
1 份
快照标识符
@min0ayda
此快照首次捕获于
2025/12/01 18:28
3 个月前
此快照最后确认于
2025/12/01 18:28
3 个月前
查看原文
看到难度是黑还以为自己场切黑题了赶紧来写题解结果还没写完就降紫了/fn
先考虑怎么样设置清仓价会导致小 R 无法获得最大价值。
如果没有任何一颗糖果被跳过,买的就是性价比最大的那些糖果,显然一定可以获得最大价值。
如果有糖果被跳过了,那么这肯定是一颗 wi=2w_i=2 的糖果,且小 R 考虑到这颗糖果时刚好只剩一块钱,此时要想要获得一个更优解唯一的方法只有放弃掉之前最后一个被考虑的即原价最低wi=1w_i=1 的糖果并换成当前的这块糖果。
于是先枚举这两块糖果,设为糖果 i,ji,jwi=1,wj=2w_i=1,w_j=2,由于糖果 ii 比糖果 jj 先考虑到即性价比更高,那么一定有 ai>2aja_i>2a_j
接下来考虑计算钦定了这两块糖果之后剩下的糖果有多少种设置剩下的清仓价的方法可以使小 R 取不到最优解,有如下的限制:
  • 更改后可以获得更优解。若是存在一个原价比糖果 ii 低的糖果 kk 且满足 ai+akaja_i+a_k\ge a_j,那么就无法更换得到更优解,因此所有原价在 [ajai,ai][a_j-a_i,a_i] 间的非糖果 ii 的糖的清仓价都必须设为 22,而原价小于 ajaia_j-a_i 的糖的无论清仓价是多少都不会有影响。
  • 小 R 考虑到糖果 jj 时恰好只剩 11 块钱。也就是说所有性价比高于糖果 jj 的清仓价之和恰好为 m1m-1,而所有性价比有可能高于糖果 jj 的糖即为:
    • 所有原价高于糖果 jj 的糖,清仓价为 1122 均可。
    • 原价低于糖果 jj 但高于糖果 ii 的糖,这类糖的原价一定超过糖果 jj 的一半,因此只要清仓价为 11 那么性价比就会大于糖果 ii
    • 糖果 ii,清仓价为 11
    第一类糖中的每一个都可能会花费 1122 块钱,第二类糖中的每个都将花费 11 块钱。设第一类糖有 yy 个,第二类糖有 xx 个,枚举第二类糖中有 kk 个清仓价为 11,由总价值为 m2m-2 可解得第二类糖中清仓价为 22 的有 m2kym-2-k-y 个,则方案数为 k=0x(xk)(ym2ky)\sum\limits_{k=0}^{x}\binom{x}{k}\binom{y}{m-2-k-y},由范德蒙德卷积得其即为 (x+ym2y)\binom{x+y}{m-2-y}
可以发现这样就考虑完了所有糖果,这样就算出来了小 R 取不到最优解的情况,用 2n2^n 减去即可。
实现方面,将所有糖果按原价排序后枚举 i,ji,j,第一条限制的左端点是递增的因此维护一个指针在序列上滑动即可,复杂度 O(n2)O(n^2)

评论

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

正在加载评论...