20180706模拟赛T3——神经衰弱
文件名: card
题目类型: 传统题
时间限制: 1秒
内存限制: 128MB
编译优化: 无
题目描述
天然少女小雪非常喜欢玩一个叫做神经衰弱的游戏。
游戏规则是,有若干种牌,每种牌有若干对,开始时全都正面朝下放置。
然后每次同时翻开两张牌,假如这两张牌是同一种类,则拿走这两张牌,否则再次翻回背面。
小雪虽然看上去傻乎乎的但是玩这个游戏非常厉害,所以可以认为她是绝对聪明的,即会采取最优决策和有着完美的记忆力。
现在小雪想要知道,对于某一副牌局,她期望拿多少次可以拿走所有牌。
需要注意的是小雪玩的神经衰弱和普通神经衰弱有所不同。普通神经衰弱是依次拿走两张牌,而小雪的神经衰弱是同时拿走两张牌。
输入格式
第一行一个整数\(n\)表示牌的种类数
第二行\(n\)个整数\(a_{i}\)表示第\(i\)种牌有多少对
输出格式
一个整数,表示期望\(\mod998244353\)
即假如答案是\(\frac{a}{b}\),你需要输出的是某个数\(x\),使\(xb=a\pmod {998244353}\)
保证\(a\not=0,b\not=0\)
样例输入
2
1 1
样例输出
332748121
数据规模与约定
30%:\(n≤5,a_{i}≤2\)
60%:\(n≤3000\)
对于所有数据\(n≤10^6,a_{i}≤10^9\)
题解
首先,发现两张牌相同后不管什么时间把它们拿去都是一样的,所以我们统一最后拿去。
我们设\(s\)为总对数,即\(s = \sum_{i=1}^{n}a_i\)。
则总共有\(2s\)张牌。
那如果抽出的两张牌都两两不同,则总和为须\(s\)次。
然后我们把它们一个个拿去,又须\(s\)次。
所以总共\(2s\)次。
然而可能有情况一次性抽到了两张相同的牌,所以我们要把它的期望减去。
首先,对于任意\(i\)其发生的概率为\(\frac{C_{a_i}^{2}}{C_{s}^{2}}\),化简一下,得到\(\frac{a_i(a_i-1)}{s(s-1)}\)。
所以总概率为\(\sum_{i=1}^{n}\frac{a_i(a_i-1)}{s(s-1)} = \frac{\sum_{i=1}^{n}a_i(a_i-1)}{s(s-1)}\)。
总共选\(s\)次,所以期望为\(s\times \frac{\sum_{i=1}^{n}a_i(a_i-1)}{s(s-1)} = \frac{\sum_{i=1}^{n}a_i(a_i-1)}{s-1}\)。
20180706模拟赛T3——神经衰弱的更多相关文章
- 体育成绩统计——20180801模拟赛T3
体育成绩统计 / Score 题目描述 正所谓“无体育,不清华”.为了更好地督促同学们进行体育锻炼,更加科学地对同学们进行评价,五道口体校的老师们在体育成绩的考核上可谓是煞费苦心.然而每到学期期末时, ...
- 20180520模拟赛T3——chess
[问题描述] 小美很喜欢下象棋. 而且她特别喜欢象棋中的马. 她觉得马的跳跃方式很独特.(以日字格的方式跳跃) 小芳给了小美一张很大的棋盘,这个棋盘是一个无穷的笛卡尔坐标. 一开始\(time=0\) ...
- 20161005 NOIP 模拟赛 T3 解题报告
subset 3.1 题目描述 一开始你有一个空集,集合可以出现重复元素,然后有 Q 个操作 1. add s 在集合中加入数字 s. 2. del s 在集合中删除数字 s.保证 s 存在 3. c ...
- ztz11的noip模拟赛T3:评分系统
代码: #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> ...
- 20180711模拟赛T3——聚变
文件名: fusion 题目类型: 传统题 时间限制: 3秒 内存限制: 256MB 编译优化: 无 题目描述 知名科学家小A在2118年在计算机上实现了模拟聚变的过程. 我们将她研究的过程简化. 核 ...
- 4.26 省选模拟赛 T3 状压dp 差分求答案
LINK:T3 比较好的题目 考试的时候被毒瘤的T2给搞的心态爆炸 这道题连正解的思路都没有想到. 一看到题求删除点的最少个 可以使得不连通. 瞬间想到最小割 发现对于10分直接跑最小割即可. 不过想 ...
- NOIP欢乐模拟赛 T3 解题报告
3.小澳的葫芦 (calabash.cpp/c/pas) [题目描述] 小澳最喜欢的歌曲就是<葫芦娃>. 一日表演唱歌,他尽了洪荒之力,唱响心中圣歌. 随之,小澳进入了葫芦世界. 葫芦世界 ...
- 字符串模拟赛T3
只看我的做法就够了 #include<iostream> #include<cstdio> #include<string> #include<cstring ...
- 神奇的NOIP模拟赛 T3 LGTB 玩THD
LGTB 玩THD LGTB 最近在玩一个类似DOTA 的游戏名叫THD有一天他在守一座塔,对面的N 个小兵排成一列从近到远站在塔前面每个小兵有一定的血量hi,杀死后有一定的金钱gi每一秒,他都可以攻 ...
随机推荐
- 【Eureka篇三】Eureka常用配置说明(7)
服务注册中心配置(Bean类:org.springframework.cloud.netflix.eureka.server.EurekaServerConfigBean) #关闭注册中心的保护机制, ...
- 用 FFLIB 实现 Apex 企业设计模式
Apex 企业设计模式将应用分为服务层.模型层.选择逻辑层.工作单元几个部分.FFLIB 是一个开源的 Apex 框架,可以帮助开发者快速建立相关的功能. FFLIB 的安装 FFLIB 可以直接部署 ...
- 基于web公交查询系统----管理员公交站点管理页面实现
主要用到内容:vue,coreui bootstrap框架,Ajax,springmvc搭建的接口,css之类的都是顺手拈来的简单的界面设计 网页代码: <!DOCTYPE html> & ...
- centos的key登录,关闭密码登录
1.删除机器原有的key rm -rf /root/.ssh 2.创建key[root@rain ~]# ssh-keygen -t rsa一路回车 3.改名[root@rain ~]# mv /ro ...
- VBA基础 - 函数和模块
概要 对于一般的 VBA 程序来说, 可能一个或几个函数就行了. 毕竟, VBA 只是作为 excel 的辅助工具来用的. 但是, 随着 VBA 写的越来越多, 用个工程来管理就有必要了, 而一个代码 ...
- Centos7安装percona-xtrabackup2.4和8.0版本
Percona XtraBackup是一个基于MySQL的服务器的开源热备份实用程序 ,它不会在备份期间锁定您的数据库.无论是24x7高负载服务器还是低事务量环境,Percona XtraBackup ...
- .Net轻松处理亿级数据--clickhouse及可视化界面安装介绍
该篇内容由个人博客点击跳转同步更新!转载请注明出处! 前言 我是在17年就听说过Clickhouse,那时还未接触过亿数据的运算,那时我在的小公司对于千万数据的解决方案还停留在分库分表,最好的也是使用 ...
- Entity Framework 6 中如何获取 EntityTypeConfiguration 的 Edm 信息?(三)
接着上一篇,我们继续来优化. 直接贴代码了: LambdaHelper.cs using System; using System.Collections.Generic; using System. ...
- git 创建标签 tag
1. git tag <name>就可以打一个新标签 加上-a参数来创建一个带备注的tag,备注信息由-m指定.如果你未传入-m则创建过程系统会自动为你打开编辑器让你填写备注信息. git ...
- java架构之路-(tomcat网络模型)简单聊聊tomcat(一)
tomcat使我们熟知的也是我们使用最多的web服务器了,至少我是使用最多的.常见的web服务器还有Apache,web logic,JBOSS等,对于tomcat的安装我就不再赘述了,简单的不能再简 ...