专栏文章

题解:P11362 [NOIP2024] 遗失的赋值

P11362题解参与者 12已保存评论 19

文章操作

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

当前评论
19 条
当前快照
1 份
快照标识符
@miqxu2e6
此快照首次捕获于
2025/12/04 12:30
3 个月前
此快照最后确认于
2025/12/04 12:30
3 个月前
查看原文
建议黄。赛时手搓了 129600 就会了,然而推错式子,45pts 遗憾离场。
按照考场思路写一下题解,个人认为是挺好理解的。下文将二元限制写作条件语句,一元限制写作赋值语句。
首先看到这个小样例解释,发现合法方案占大多数,可以用整体方案减去不合法。
显然任意选的方案数是 v2(n1)v^{2(n-1)},而不合法有两种情况:
  • 两个赋值语句矛盾。
  • 根据一个赋值语句和假定的条件语句,推导出不等于另外几个赋值语句的值(如小样例第二组数据)。
然后看到第一个大样例,发现数比较小,可以手搓。前三组数据都没什么意思,直到第四组。它是这么个情况:
CPP
? 2 2 2 ? ? 2 ? ? 2
根据上文提到的猜想,要计算不合法方案的数量。由于每个条件语句一定是向后赋值,故从前向后考虑。分以下几步:
  1. 总方案数为 v2(n1)=218=262144v^{2(n-1)}=2^{18}=262144
  2. 由于 x2x_2 前面没有任何的赋值语句,所以不可能不合法。
  3. x3x_3 处不合法当且仅当 a2=2a_2=2b22b_2\neq2,这个概率是 14\frac{1}{4}
  • 为什么要计算概率而不是方案数?在下一步计算时有些情况已经被删掉,如果用方案数计算,仍要记录当前合法方案数,本质与计算概率再连乘相同。
  1. x4x_4 处不合法同上,概率为 14\frac14
  2. x7x_7 处不合法。这个是思路的关键。它前面最后一个赋值语句是 x4=2x_4=2,易证不合法只能是通过这个条件推出 x5,x6,x7x_5,x_6,x_7x72x_7\neq2。那么它需要满足的条件即为:
  • a4=2a_4=2(保证能从 x4x_4 向后推);
  • b4=a5b_4=a_5(考虑上一行成立已经确定 x5=b4x_5=b_4,那么保证 x5x_5 能向后推就是这个式子了);
  • b5=a6b_5=a_6(同上);
  • b62b_6\neq2(由前几行可以保证 x7=b6x_7=b_6,然而要使方案不合法就必须 x72x_7\neq2)。
这就是在 x7x_7 处不合法的充分必要条件。它发生的概率为 12×12×12×12=116\frac12\times\frac12\times\frac12\times\frac12=\frac1{16}
  1. x10x_{10} 处不合法,同上,概率为 116\frac1{16}
所以整个样例的合法情况数就是 262144×(114)×(114)×(1116)×(1116)=129600262144\times(1-\frac14)\times(1-\frac14)\times(1-\frac1{16})\times(1-\frac1{16})=129600
那么这个题就迎刃而解了。根据上文,可推出在当前赋值语句的 ccii,以前最后一个赋值语句的 ccjj 的情况下,方案不合法的概率为 1v×1v×1v××1v×v1v=v1vij+1\frac1v\times\frac1v\times\frac1v\times\cdots\times\frac1v\times\frac{v-1}v=\frac{v-1}{v^{i-j+1}},合法的概率为 vij+1(v1)vij+1\frac{v^{i-j+1}-(v-1)}{v^{i-j+1}},累乘即可,除第一个赋值语句不计外不要考虑任何边界条件。
(本人考场推式子时将最后一项错写成 1v\frac1v,导致最后算出合法概率为 vij+11vij+1\frac{v^{i-j+1}-1}{v^{i-j+1}},然而又恰好 v=2v=2 时候时相等的,所以一直查不出来)。
代码没发下来不贴了。理解了以后有手都会写。

评论

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

正在加载评论...