[ZJOI2015] 地震后的幻想乡

给定一个无向图 \(G\) ,\(n\) 个点 \(m\) 条边每条边权为 \([0,1]\) 的随机实数,求这张图的最小生成树的最大边权期望。

\(1\le n\le 10,1\le m\le \frac{n(n-1)}{2}\) 。

Solution

引理 \(1\) :

\(n\) 个 \([0,1]\) 随机变量 $x_1,\cdots,x_n $ ,第 \(k\) 小的期望值是 \(\frac{k}{n+1}\)

证明:枚举第 \(k\) 小值为 \(x\) :\(\binom{n}{k}\int_0^1x \cdot x^{k-1}\cdot (1-x)^{n-k} dx=\frac{k}{n+1}\) 。

暴力枚举 \(m\) 条边的相对大小关系,套引理即可做到 \(\mathcal O(m!poly(n))\) 。

考虑状压 dp ,定义 \(f_{S,i},g_{S,i}\) 表示点集 \(S\) ,用了 \(i\) 条边,且点集不连通/连通的方案数,\(d_{S}\) 表示点集 \(S\) 导出子图的边数。

考虑 \(f\) 的转移,我们枚举一个连通块(不妨是 \(lowbit(S)\) 所属的那个块),其他的点之间任意连边,则: \(f_{S,i}=\sum\limits_{lowbit(S) \in T\subset S}\sum\limits_{j=0}^{|d_T|}g_{T,j}\binom{|d_{S-T}|}{i-j}\)

注意到 加了 i 条边恰好连通概率 = 加之前不连通概率 - 加之后不连通概率 ,因此答案为:

\[\sum_{k=1}^{m}\frac{k}{m+1}\cdot \left(\frac{f_{U,k-1}}{\binom{|d_U|}{k-1}}-\frac{f_{U,k}}{\binom{|d_{U}|}{k}}\right)\\\begin{aligned}=\frac{1}{m+1}\sum_{k=0}^{m}\frac{f_{U,k}}{\binom{|d_{U}|}{k}}\end{aligned}
\]

时间复杂度 \(\mathcal O(3^nm)\) 。


Day1

T1

给定一个由字符 \(\text{'a', 'b'}\) 构成的字符串 \(str\) 。

一个串为好串的定义是:串长为偶数,且左右两半相等。比如说 \(abcdeabcde\) 就是好串。

有 \(q\) 次询问,询问区间 \([l,r]\) 内有多少个本质不同的好串(也就是一模一样的好串只算 \(1\) 次)。

\(1\le n,q\le 2\times 10^5\)

T2

给定一颗广义线段树,读入按中序遍历的方式告诉你每根线段 \([l,r]\) 的 \(mid\) 值。

你需要执行 \(k\) 次 选区间 操作,每次等概率选择一个区间 \([ql, qr]\) 满足 \(1\le ql\le qr\le n\) ,并且相应在线段树上打懒标记。

对于每个区间 \([ql, qr]\),执行 \(\text{modify(1, 1, n, ql, qr)}\) :

void pushdown(int u) {
if (tag[u]) {
tag[lson[u]] = 1;
tag[rson[u]] = 1;
tag[u] = 0;
}
}
void modify(int u, int l, int r, int ql, int qr) {
if ([l, r] ∩ [ql, qr] = 空集) return ;
if (ql <= l && r <= qr) {
tag[u] = 1;
return ;
}
int mid = 读入的 mid 值;
pushdown(u);
if (ql <= mid) modify(lson[u], l, mid, ql, qr);
if (qr > mid) modify(rson[u], mid + 1, r, ql, qr);
}

请求出期望下线段树中 \(tag\) 值为 \(1\) 的线段的个数。

\(n\) 在 \(10^5\) 级别, \(1\le k\le 10^9\) 。

T3

给定一个长度为 \(n\) 的序列 \(a_1,a_2,...,a_n\),你可以执行以下三种操作:

  • 选择一个区间 \([l,r]\) ,让区间内的数全减 \(1\)
  • 选择一个区间 \([l,r]\) ,让区间内下标是奇数的数全减 \(1\)
  • 选择一个区间 \([l,r]\) ,让区间内下标是偶数的数全减 \(1\)

你需要最小化你的操作次数,使得所有数变成 \(0\) 。

Day2

T1

\(Alice\) 和 \(Bob\) 在 树/基环树 上的游戏。。。

题面有点长,咕咕

T2

给定 \(n\) 个数 \(a_1,a_2,...,a_n\) ,每次等概率选择一个数(选过的数下次可能还会被选)。

问期望下取多少次数,才能出现 \(k\) 个连续的数(也就是满足 \(a_{i_1},a_{i_2},a_{i_3},...\) 依次 \(+1\))?

\(1\le n\le 2\times 10^5, 1\le a_i\le 10^9\)(好像)

T3

给定 \(n\) 个方程组,参数 \(a_i,c_i\)。

\[\begin{cases}a_1 \times x + p_1 \equiv c_1 (mod\ p) \\ a_2 \times x + p_2 \equiv c_2 (mod\ p) \\ ... \\ a_n\times x + p_n \equiv c_n (mod\ p) \end{cases}
\]

给出一个扰动 \(err\) ,每个 \(p_i\) 均为 \([\lceil - \frac{err}{2} \rceil, \lceil \frac{err}{2} \rceil]\) 内随机的一个数。

你需要找到一个 \(x\) ,使得它满足上述所有条件。

数据保证有且仅有一个 \(x\) 满足条件。

\(n=2000, 1\le a_i,c_i,p\le 10^{18}\)

如果要用 \(\text{__int128}\) ,请手写。

ZJOI2020的更多相关文章

  1. P6631 [ZJOI2020] 序列

    可以将问题用形象的方式来表述.给定一排点,第 \(i\) 个点有它需要的覆盖次数 \(a_i\).有两种线段,一种能覆盖连续的一些点,称其为连续线段:另一种能覆盖相邻间隔为 \(1\) 的一些点,称其 ...

  2. [ZJOI2019]游记之我的第一次省选--自闭记

    2019/3/23 day -1 今天是体育中考....(祝我好运) 实心球再次投出测量范围,虽然成绩是10.5,但是目测有15米. 立定跳远2.70,好近,我爸叫我跳2.8的QwQ. 1000米最后 ...

  3. Lyndon 相关的炫酷字符串科技

    浅谈从 Lyndon Words 到 Three Squares Lemma By zghtyarecrenj 本文包括:Lyndon Words & Significant Suffixes ...

随机推荐

  1. 动态div点击事件传递对象参数格式-草稿889

    <button type='button' style='border: 1px solid #eeeeee;color: #717070;height: 20px;border-radius: ...

  2. JavaScript中数组的方法和字符串方法总结

    数组是首先的一个对象, 可以通过Array构造器创建一个数组,数组方法总结如下 cacat()  链接两个数组 join()  将数组链接成字符串 pop() 删除最后一个元素  shift()  删 ...

  3. 实现call、apply 及 bind 函数

    今日学习内容: (1)call 函数的实现步骤: 判断调用对象是否为函数,即使是定义在函数的原型上的,但是可能出现使用 call 等方式调用的情况. 判断传入上下文对象是否存在,如果不存在,则设置为 ...

  4. OllyDbg---数学指令

    数学指令 INC和DEC 分别执行增加1和减少1的操作. ADD 该指令有两个操作数,相加后的结果存放到第一个操作数中. ADDC 带进位的加法 两个操作数的和加上进位标志的值,结果存放到第一个操作数 ...

  5. SpringCloud Alibaba入门之Nacos(SCA)

    SpringCloud Alibaba Spring Cloud Alibaba 致力于提供微服务开发 的一站式解决方案.此项目包含开发分布式应用微服务的必需组件,方便开发者通过 Spring Clo ...

  6. 搭建MySQL集群-注意版本

    系统环境采样(来自其他机器,直接copy过来的,在安装的机器上,按照步骤查看即可,当然这些还不够实际,后续补充) 检查系统内是否有其他mysql rpm -qa | grep mysql 是否存在my ...

  7. 面渣逆袭:RocketMQ二十三问

    基础 1.为什么要使用消息队列呢? 消息队列主要有三大用途,我们拿一个电商系统的下单举例: 解耦:引入消息队列之前,下单完成之后,需要订单服务去调用库存服务减库存,调用营销服务加营销数据--引入消息队 ...

  8. JVM诊断及工具笔记(4) 使用visualvm分析JVM堆内存泄漏

    在这里感谢最近一直阅读我文章的小伙伴,如果觉得文章对你有用,可以帮忙关注转载,需要的时候可以及时找到文章. 背景 今年Q3季度我们在推广业务方使用Iceberg,当时为了让不同业务线的用户可以使用自己 ...

  9. 深入理解Kafka核心设计及原理(五):消息存储

    转载请注明出处:https://www.cnblogs.com/zjdxr-up/p/16127749.html 目录: 5.1文件目录布局 5.2消息压缩 5.3日志索引 5.4日志文件及索引文件分 ...

  10. 移动安卓App+BurpSuite的渗透测试

    从Android 7.0及以上版本开始,安卓系统更改了信任用户安装证书的默认行为,用户安装的证书都是用户证书,因此不管是filddle还是burp,都是把他们的根证书安装到了用户证书,而有部分移动ap ...