noip模拟19/20
这两场考试大部分的题都考过,然鹅有的 \(trick\) 忘了,有的当时咕了(虽然现在还咕着)
首先是 \(v\) 这道题需要加一个小优化,对于较小的状态应该直接用数组记录,较大的再用 map 记
然后就是这个神奇的 \(dp\) 题:
A. 玩具
考场上只会暴搜,胡了一个 hash 还给挂了
正解是神奇的 \(dp\)
首先核心是 \(f[i][j]\) 表示 \(i\) 个点的树深度为 \(j\) 的概率,那么期望即概率乘深度之和
考虑这个怎么转移:
如果想办法从 \(f[i-1][k]\) 转移,可以发现这个状态是不完备的,因为不知道 \(i-1\) 个点深度为 \(k\) 时各个深度的点各有多少个,那么加在每个深度的概率是不相同的
那么考虑这棵树最后加入的点是树顶那个点
因为树顶那个点加入前整个的深度是固定的为 \(j-1\)
那么问题又来了,如果加入的是树顶,那么原来所有的子树将形成一个森林,显然还需要一个变量维护森林的状态
那么设 \(g[i][j]\) 表示 \(i\) 个点的森林深度为 \(j\) 的概率,那么有
\]
接着考虑 \(g\) 的转移,可以想到从一部点形成的树外加另外的点形成森林来转移
假设树的大小为 \(k\),那么一部分是 \(f[i][k]\),发现另一部分的深度是不确定的,只要小于等于 \(j\) 即可
说明状态设计的有问题,那么设计成深度小于等于 \(j\) 就好了
\(f\) 的转移还是一样的
然后再看 \(g\) 的转移,发现还是有 \(bug\),因为总共有 \(j\) 个点,有 \(k\) 个点在第一棵树里,这是有概率的,那么继续打补丁——设 \(dp[i][j]\) 表示 \(i\) 个点的森林有 \(j\) 个点在第一棵树的概率
考虑转移,从 \(dp[i-1][]\) 转移而来,分为新加的点在不在第一棵树里两种情况,方程式为:
\]
这里需要注意看似上一种情况共可以向 \(i-1\) 个点连边,为什么分母上是 \(i\) 呢?
因为漏掉了一种情况就是新加的这个点其实是可以自成一棵树的,所以没有问题
这回终于可以转移 \(g\) 了:
\]
最后是统计答案,由于状态设计的是前缀和形式,那么答案需要减一下,即:
\]
noip模拟19/20的更多相关文章
- Noip模拟19(炸裂的开始) 2021.7.18
T1 u 差分与前缀的综合练习. 分析数据范围,只能是在修改的时候$O(1)$做到,那么只能是像打标记一样处理那个三角形 正解是建立两个二位前缀和,一个控制竖向,一个控制斜向 每次在三角的左上,右下, ...
- NOIP模拟 19
最近试考的脑壳疼 晚上还有一场555 T1 count 研究性质题. 研究好了AC,研究不明白就没头绪 首先枚举n的因子d 其次发现因为是树,所以如果合法,贡献只能是1 然后发现如果合法,一定是一棵一 ...
- [考试总结]noip模拟19
连挂3场 \(\color{green}{\huge{\text{菜}}}\) 真 . 挂分王 ... 没什么好说的了,菜就是了. \(T1\) 一波手推想到了性质 \(1\),然后因为数组原因挂成比 ...
- noip模拟测试20
考试总结:这次考试,我非常真实地感觉到了自己能力的提高,具体来说,在之前的考试中,读完题之后我只会想到暴力的思路,甚至有的题连暴力都打不出来,但是这次在考场上我已经有了自己的一些想法,有了一个深入思考 ...
- 2018/3/18 noip模拟赛 20分
T1 dp,特别裸特别简单,我放弃了写了个dfs. T2 树归,特别裸特别简单,我不会写. T3 贪心二分不知道什么玩意儿反正不会写就对了. 我是个智障
- NOIP 模拟19
考试状态一次不如一次,所以这次.......我经无言以对 考完试T1就A了,但不是考试时A的,所以屁用没有! 这次考试其实T1想的是正解但是自己傻逼了,感觉自己只能拿部分分,(而且我还把数据范围少看一 ...
- NOIP模拟测试20「周·任·飞」
liu_runda出的题再次$\%\%\%\%\%\%\%\%\%\%\%\%\%\%\%\%\%\%$ 任 题解 题目中为什么反复强调简单路径,没有环 没有环的图中点数-边数=联通块数 前缀和维护边 ...
- 8.3考试总结(NOIP模拟19)[最长不下降子序列·完全背包问题·最近公共祖先]
一定要保护自己的梦想,即使牺牲一切. 前言 把人给考没了... 看出来 T1 是一个周期性的东西了,先是打了一个暴力,想着打完 T2 T3 暴力就回来打.. 然后,就看着 T2 上头了,后来发现是看错 ...
- NOIP 模拟 $19\; \rm w$
题解 \(by\;zj\varphi\) 树形 \(dp\) 题目 有一个结论:对于一个图,有多少奇度数的点,处以二就是答案,奇度数指的是和它相连的边中被反转的是奇数 证明很好证 那么设 \(dp_{ ...
随机推荐
- PWA渐进式web应用
PWA(Progressive Web App)是一种理念,使用多种技术来增强web app的功能,可以让网站的体验变得更好,能够模拟一些原生功能,比如通知推送.在移动端利用标准化框架,让网页应用呈现 ...
- 使用C#winform编写渗透测试工具--暴力破解
使用C#winform编写渗透测试工具--暴力破解 这篇文章主要介绍使用C#winform编写渗透测试工具--暴力破解.暴力破解是指通过利用大量猜测和穷举的方式来尝试获取用户口令的攻击方式.简单来说就 ...
- python代码下载m3u8视频
代码如下: # -*- coding: utf-8 -*- import requests import re import os import base64 from Crypto.Cipher i ...
- 解决ModuleNotFoundError: No module named 'pip'问题
Python学习遇到小问题:ModuleNotFoundError: No module named 'pip' 今天想要装一下第三方库exifread的时候发现cmd窗口下无法执行pip命令,想了想 ...
- Java Swing 盒布局管理器
Swing 盒布局管理器 因为项目的原因,重新看看swing的东西,在想要将两个横向的容器纵向表示的时候,发现用盒布局 话不多说,直接代码 package ui; import javax.swing ...
- iNeuOS工业互网平台,在纸业领域的成功应用案例
目 录 1. 项目背景... 2 2. 项目基本情况... 3 3. 概念解释... 5 1. 项目背景 最终用户是全国第5大纸业集团之一,年浆纸产能40 ...
- mybatis generator的generatorConfig.xml配置详解
generatorConfig.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ge ...
- 51单片机—LCD1602显示模块
文章目录 - 什么是LCD1602 - 如何操作LCD1602 - 上代码 - 什么是LCD1602 LCD:Liquid Crystal Display-液晶显示器,简称LCD,其主要显示原理是以电 ...
- WebAPI 自定义过滤
自定义filter 类过滤 ------------------------------------------------------------------------- public class ...
- linux中的分号&&和&,|和||说明与用法
在用linux命令时候,我们可以一行执行多条命令或者有条件的执行下一条命令,下面我们讲解一下linux命令分号&&和&,|和||的用法 在用linux命令时候,我们可以一行执行 ...