CSPS_109
T1
状压+位运算解决
T2
打完暴力后感到了迷茫..
不过看这张表里1的数目占了一半之多,应该合法情况挺多的
拿出了从未用过的srand(time(0));
结果撞上正解了(笑)(rp--)
现在$Lrefrain$教会我正解了
解释下题解式子
设$c_i$为含有第i个元素的集合数量
已知$\sum\limits_{i=1}^{2*n} c_i=n*(n+1)$
求$\sum\limits_{i=1}^{2*n} \frac{C(c_i,2)}{C(n+1,2)}$即任选两个集合的交的大小的期望
考虑上式取min值的情况,由于组合数增长很快,$c_i$应是平均分配。
则$c_i=(n+1)/2$上式为$2*n* \frac{((n+1)/2)^2}{n*(n+1)} -1$这里拆了个组合数
即$\frac{n+1}{2}-1=\frac{n-1}{2}$
精彩继续,为什么是$O(n)$对
我们已经知道,最劣情况下,交集总大小为$C_{n+1}^2 * \frac{n-1}{2}$
而“存在一对集合交集>n/2"要求的最低限度为$C_{n+1}^2 * \frac{n-2}{2}$
最劣情况下,会多出来的交集大小为$C_{n+1}^2 *\frac{1}{2}$
也就是$\frac{(n+1)*n}{4}$
考虑多出来的大小最劣时能使多少对合法
那显然是让合法的消耗的交集大小最大,也就是完全匹配
每对匹配,消耗$O(n)$个大小,那么也会有最少对数为
$O(n)$
随便随
T3
想了会dp,不可做。
也许只能贪心了,贪心好像挺对的。
到了不放不行的地步再放,能辐射到一片最大的区域,有包容性。
考虑在有根树里dfs,一个灭火器可以向儿子方向或向父亲方向灭火
肯定是优先去灭深度最大的儿子,这点在回溯的过程中解决了
剩余的可以回头去消他的父亲叔叔兄弟啥的,记录在数组里。
第二种情况一定可以在lca处被枚举到,所以这个灭火器的贡献不怕遗漏了
upd:非常侥幸..使用了比较降智的累加避免了我没想到的向上取整把0取成1的情况
CSPS_109的更多相关文章
随机推荐
- JDK和J2EE有什么关系
JDK(Java Development Kit)是Java 开发工具J2EE是Java一个平台 Java 平台有三个版本,这使软件开发人员.服务提供商和设备生产商可以针对特定的市场进行开发:* Ja ...
- golang ---cron
package main import ( l4g "github.com/alecthomas/log4go" "github.com/robfig/cron" ...
- 女性对DeepNude脱衣技术的防护
写在前面的话 本文不提供下载方式,开源部分只是社区逆向后公开的部分源码 这篇文章有些人看了可能会比较极端,但不从技术角度分析又谈何防护?攻与防一直存在,不管是安全还是AI都是一样 你极端不极端,它就在 ...
- 关于使用jquery form submit出现多次提交的问题
错误的写法: $(this).submit(function () { $(this).ajaxSubmit({ url: opts.url, type: 'post', dataType: 'jso ...
- C# 的ToString 常用方法
货币 2.5.ToString("C") ¥2.50 D 十进制数 25.ToString("D5") 00025E 科学型 25000.ToString(&q ...
- for循环优化
转自:https://blog.csdn.net/lfc18606951877/article/details/78592823 1:多个for循环时,遵循外小内大(从外至里,循环对象size要从小到 ...
- go install -v github.com/gopherjs/gopherjs报错提示go cannot find package "golang.org/x/crypto/ssh/terminal" 解决方案
1前言 方法一:go get 方法二: github clone 2 方法方法一:go get go get golang.org/x/crypto/ssh/terminal 但是这种方法容易被墙,出 ...
- Matlab观察者模式
要点: 1.服务端(Subject)维护一个观察者的列表,以便能够向所有的观察者(Observer)推送信息 2.观察者可以获取服务端的状态 3.服务端和观察者可抽象,可以有多个不同实现 Subjec ...
- CSS样式表及选择器相关内容(一)
CSS(Cascading Style Sheets)层叠样式表1.CSS级联-CSS层叠:规定在哪个HTML中使用哪个样式. body{ font-size:16px; //body默认字体大小 } ...
- JDBC模糊查询的4种方式
1:%放在占位符中 parameters.add("%"+familyMemberQueryBean.getFullName()+"%" ...