CF1067E 题解
题意
给定一棵 \(n\) 个节点的树,每条边有 \(\frac{1}{2}\) 的概率出现,可以得到一个森林,求这个森林邻接矩阵的秩的期望。
\(1\le n\le5\times10^5\)。
题解
此题关键在于一个重要结论:一个森林邻接矩阵的秩等于其最大匹配数 \(\times2\)。下面对其进行证明。
我们先看邻接矩阵的秩等于 \(n\) 的充要条件。由行列式的定义,有
\]
若后面的积 \(\neq0\),则所有点都向另一点连边,且不重复。而森林无环,于是可以得出其存在完美匹配。而一个森林最多存在一个完美匹配,从叶子向上贪心即证。那么充要条件就是存在完美匹配。
再来看秩不等于 \(n\)。由某条奇妙的定理,我们知道对称矩阵的最大子式一定是主子式。那么其就是原图的一个导出子图。最大的存在完美匹配的导出子图,即是原图的最大匹配。于是证毕。
然后就可以算了。由期望的线性性,对每条边求其为匹配的概率,也就是方案数。但由于我们判断匹配的方式是从叶子向上的贪心,这不太好算。换个形式,对每个点求其与儿子匹配的方案数。这就是一个简单的树形 \(\text{DP}\) 了。于是此题得解。
CF1067E 题解的更多相关文章
- 2016 华南师大ACM校赛 SCNUCPC 非官方题解
我要举报本次校赛出题人的消极出题!!! 官方题解请戳:http://3.scnuacm2015.sinaapp.com/?p=89(其实就是一堆代码没有题解) A. 树链剖分数据结构板题 题目大意:我 ...
- noip2016十连测题解
以下代码为了阅读方便,省去以下头文件: #include <iostream> #include <stdio.h> #include <math.h> #incl ...
- BZOJ-2561-最小生成树 题解(最小割)
2561: 最小生成树(题解) Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 1628 Solved: 786 传送门:http://www.lyd ...
- Codeforces Round #353 (Div. 2) ABCDE 题解 python
Problems # Name A Infinite Sequence standard input/output 1 s, 256 MB x3509 B Restoring P ...
- 哈尔滨理工大学ACM全国邀请赛(网络同步赛)题解
题目链接 提交连接:http://acm-software.hrbust.edu.cn/problemset.php?page=5 1470-1482 只做出来四道比较水的题目,还需要加强中等题的训练 ...
- 2016ACM青岛区域赛题解
A.Relic Discovery_hdu5982 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Jav ...
- poj1399 hoj1037 Direct Visibility 题解 (宽搜)
http://poj.org/problem?id=1399 http://acm.hit.edu.cn/hoj/problem/view?id=1037 题意: 在一个最多200*200的minec ...
- 网络流n题 题解
学会了网络流,就经常闲的没事儿刷网络流--于是乎来一发题解. 1. COGS2093 花园的守护之神 题意:给定一个带权无向图,问至少删除多少条边才能使得s-t最短路的长度变长. 用Dijkstra或 ...
- CF100965C题解..
求方程 \[ \begin{array}\\ \sum_{i=1}^n x_i & \equiv & a_1 \pmod{p} \\ \sum_{i=1}^n x_i^2 & ...
- JSOI2016R3 瞎BB题解
题意请看absi大爷的blog http://absi2011.is-programmer.com/posts/200920.html http://absi2011.is-programmer.co ...
随机推荐
- csp201503-1(矩阵逆时针九十度旋转)
//矩阵变换的题,要找出两个矩阵各元素横纵坐标之间的关系 #include<bits/stdc++.h> using namespace std; int main() { int a[1 ...
- VS 生成事件 xcopy 报错的解决方法
出现这种情况有可能原因有2种可能: 1.目标文件夹设为只读:此时报错:MSB3073 代码4 ,输出显示:访问遭到拒绝. 解决:去掉文件夹只读属性. 2.缺少环境变量:报错为::MSB3073 代码9 ...
- Fast Report 分栏分页
Layout 设置布局 AcrossThenDown是水平分栏 DownThenAcross是垂直分栏
- 如何使用postman
一. 了解postman 1. 什么是postman? ------ 软件测试用来做接口测试的工具. 2. 如何下载postman ------ https://www.getpostman.com/ ...
- Elasticsearch使用示例
简单示例 import cn.hutool.core.bean.BeanUtil; import com.baomidou.mybatisplus.extension.service.impl.Ser ...
- JavaWeb 下载Demo
JavaWeb 继承 Httpservlet 类实现文件下载的功能 package com.gen; import javax.servlet.ServletException; import jav ...
- python函数传参是传值还是指针
python中,往函数传参传的是指针,并非传值. 代码说话 如果改变函数参数的值,我们来看看改变: 但是如果是传的列表这种可变数据类型呢 传列表并没有发送改变,仍然指向的是原来的地址. 这是因为传的数 ...
- Microsoft Project 使用教程
Microsoft Project使用教程 一.新建项目 1. Project界面操作 "文件" -→ "新建" -→ "空白项目" 建议在 ...
- [canvas]ncaught TypeError: Cannot read properties of null (reading 'getContext')
相信你和我一样是直接复制大佬的js代码(笑) ------------ 主要问题在于:js先加载完了,html才加载,导致js获取不了html的对象 解决办法: 把 <head /> ...
- 读后笔记 -- Python 全栈测试开发 Chapter10:接口的设计与开发
10.1 Django 框架 1. 几个主流的框架: 1)适合初学者的接口框架:Django,Flask 2)针对底层定义:Twisted 3)实现高并发:Tornado 2. install // ...