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的更多相关文章

随机推荐

  1. 牛客CSP-S提高组赛前集训营2 T2沙漠点列

    原题链接 算法不难,比赛的时候就和cyc大佬一起yy了正解,不过因为交的时候比较急(要回寝室惹),我有两数组开错大小直接爆到50,cyc大佬则只把文件输入关了一半,直接爆零(╯ ̄Д ̄)╯┻━┻ 要尽量 ...

  2. 2019-07-24 require 和 include的区别

    require 和 include 都是文件引入的常用用法.那他们有什么区别吗? 首先我们创建一个需要引入的文件叫做test.php,里面写上简单的一行代码: echo "我是要被引入的文件 ...

  3. 【故障处理】分布式事务ORA-01591错误解决

    [故障处理]分布式事务ORA-01591错误解决 1  BLOG文档结构图       2  前言部分 2.1  导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你 ...

  4. Ftp站点搭建的详细过程(包括指定用户登录)

    最近接到要部署一个Ftp站点的一个任务,然后过程中有点小插曲踩了一些坑(指定用户登录,用户名和密码都是对的,输入了超级多遍,还是不行,登录不上,后面详细说明解决方案),特此记录一下.避免大家踩坑. 参 ...

  5. golang中逗号ok模式_转

    ,ok,第一个参数是一个值或者nil,第二个参数是true/false或者一个错误error.在一个需要赋值的if条件语句中,使用这种模式去检测第二个参数值会让代码显得优雅简洁.这种模式在go语言编码 ...

  6. ireport(1.2.7)的IllegalAccessError异常

    IllegalAccessError异常: Exception in thread "main" java.lang.IllegalAccessError: tried to ac ...

  7. MSSQL-反弹注入

    工具:香港云免费云服务器:http://www.webweb.com 注册使用匿名邮箱:https://bccto.me/ 香港云服务器搭建MSSQL数据库,并建表admin,字段数要大于等于我们想要 ...

  8. Matplotlib:mpl_toolkits.mplot3d工具包

    简介 mpl_toolkits.mplot3d是Matplotlib里面专门用来画三维图的工具包,官方指南请点击此处<mplot3d tutorial> 使用 导入 使用from mpl_ ...

  9. Linux 解决krb5p安全验证开机无法挂载问题

    从开始练习rhce以来,其中nfs挂载题目经常出现配置没有任何问题,但是开机无法挂载使用krb5p验证的挂载目录. 使用systemctl status mnt-nfssecure.mount命令查看 ...

  10. AT2000 Leftmost Ball

    设\(f[i][j]\)表示当前有\(i\)个白球,一共放完了\(j\)种球 显然有\(j <= i\) 对于每个状态目前已经放下去的球是固定了的,那么考虑转移 放白球 从\(f[i - 1][ ...