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}$

    T3

      想了会dp,不可做。

      也许只能贪心了,贪心好像挺对的。

      到了不放不行的地步再放,能辐射到一片最大的区域,有包容性。

      考虑在有根树里dfs,一个灭火器可以向儿子方向或向父亲方向灭火

      肯定是优先去灭深度最大的儿子,这点在回溯的过程中解决了

      剩余的可以回头去消他的父亲叔叔兄弟啥的,记录在数组里。

      第二种情况一定可以在lca处被枚举到,所以这个灭火器的贡献不怕遗漏了

      upd:非常侥幸..使用了比较降智的累加避免了我没想到的向上取整把0取成1的情况

猜你喜欢

转载自www.cnblogs.com/yxsplayxs/p/11832682.html
109