首先这题可以转化成“最后一次两个相等之前,有多少个 ESPer 投过票”计数。
我的想法:把序列看成 -1 给少的投票,+1 给大的投票,相等时只能使用 +1。
[1 x x x x x] [1 x x x x] [1 x x x]
但相同是只能使用 +1 就导致每个位置贡献的概率不同,会变得很不好数。而且每个段要保证不接触 0,不好算。
题解的做法:每次都看作 +1 或 -1,消除了概率不同的问题。相同时人为定义第一堆为 +1,第二堆为 -1
这样序列可以看做
[...] -1 [...] -1 [...] -1 [...] +1 [...] +1 [...]
每个间隔段是 sum=0,前缀和>=0 的段。
这样消除了概率问题,间隔段的方案数也是一个路径数能算出来(枚举中间的 -1,+1 个数,把 -1 都看成 +1,就是一个路径数)
标签:...,概率,每个,堆为,ESPers,AGC053F From: https://www.cnblogs.com/Rainbowsjy/p/16706505.html