OI方面的数学还是很玄学……
题目描述
天然少女小雪非常喜欢玩一个叫做神经衰弱的游戏。
游戏规则是,有若干种牌,每种牌有若干对,开始时全都正面朝下放置。
然后每次同时翻开两张牌,假如这两张牌是同一种类,则拿走这两张牌,否则再次翻回背面。
小雪虽然看上去傻乎乎的但是玩这个游戏非常厉害,所以可以认为她是绝对聪明的,即会采取最优决策和有着完美的记忆力
现在小雪想要知道,对于某一副牌局,她期望拿多少次可以拿走所有牌。
需要注意的是小雪玩的神经衰弱和普通神经衰弱有所不同。普通神经衰弱是依次拿走两张牌,而小雪的神经衰弱是同时拿走两张牌。
输入格式
第一行一个整数nn表示牌的种类数第二行nn个整数aiai表示第ii种牌有多少对
输出格式
一个整数,表示期望mod998244353即假如答案是a/ba/b,你需要输出的是某个数xx,使x∗b=a(mod998244353)保证a≠0,b≠0
样例输入
2
1 1
样例输出
3327481180
样例解释
期望是10/3
数据规模与约定
30%:n≤5,ai≤2n≤5,ai≤2
60%:n≤3000n≤3000
对于所有数据n≤106,ai≤109
题目分析
期望题……看见期望题就很虚……
考场上去杠T2的贪心分,结果T3的30分爆搜都没打完。
暴力想法
当然就是把所有情况都枚举一遍,然后逆元写写就好了。
std题解
不难发现,当发现两张相同的牌时直接拿掉和最后拿掉并没有区别。所以我们可以认为先把所有牌翻一遍再考虑消去一定最优。那么我们只要计算在第一遍翻牌时恰好翻出的两张是相同的牌的概率。因为每次翻牌操作是等价的,所以可以直接把每次翻牌都当做第一次计算期望。
反正……我好像没怎么看懂,但是出题人讲解的还是很有道理的。
首先令$m=\sum{}_{}{ai}$
END