MemSQL Start[c]UP 2.0 Round 2

今天凌晨 1:00 ~ 4:00 战了一下这场的 CF,过程大致如下:

A 上来 WA 一发,改改过了;B 上来 WA 一发,改改过了;C 上来 WA 一发,改改过了;D 想想想然后不会。最后 Rank53,感觉还不错!

A、题目已经给了 q^2 = q + 1 了,然后就搞就行了

B、贪心

C、我比赛的做法是从 n 个票往下枚举,维护一个大根堆,每次扔出去一个最贵的,不过要注意的是会出现扔到最后有人的票数比我当前还多,那我就要开始回收,与此同时再扔一个。用几个 set 维护一下整个过程就行。

而实际上这题还可以三分。(比赛时上来想到的就是三分,不过感觉没有这个函数不是凸函数,但实际上好像是,而且比较明显= =。)

D、好题!

首先肯定要枚举行和列,不过此题个关键在于 “恰好 i 行 j 列” 这个 “恰好” 不好处理,比赛的时候我也是在这里完全卡死了,然后就不会做了;实际上题目非常巧妙的对每个 i 行 j 列给了一个 2^(i + j) 的一个比分。那么我们可以完成一个转化,题目实际上就是让我们求 Σ P(i, j),这里 P(i, j) 表示至少有 i 行 j 列的概率。为什么可以这么转化?因为对于 i 行 j 列,2^(i + j) 实际上就是一个全集,即其所有的子集都得到了贡献。

接下来我们只要枚举 i, j 然后考虑至少中 i 行 j 列的概率就可以了,这个很好求,就是 C(n, i) * C(n, j) * C(m - s, K - s) / C(m, K),其中 s = n * (i + j) - i * j。

E、(。。

F、(。。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值