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_{ ...
随机推荐
- layui 页面加载完成后ajax重新为 html 赋值 遇到的坑
页面加载完毕后,通过 ajax 按照返回值,为部分 html 赋值: $(function(){ ..... }) 直接这样写,报错,$ 没有定义什么的,错位原因为 jquery 引入错误. layu ...
- Salesforce Integration 概览(二) Remote Process Invocation—Request and Reply(远程进程调用--请求和响应)
本篇参考:https://resources.docs.salesforce.com/sfdc/pdf/integration_patterns_and_practices.pdf 我们在项目中,经常 ...
- 无法解析插件 org.apache.maven.plugins:maven-clean-plugin:2.5
在Idea创建项目中,出现7出错误,告诉我 无法解析插件 org.apache.maven.plugins:maven-clean-plugin:2.5 但是在maven设置中都一致 后来加了几个镜像 ...
- vivo 全球商城:优惠券系统架构设计与实践
一.业务背景 优惠券是电商常见的营销手段,具有灵活的特点,既可以作为促销活动的载体,也是重要的引流入口.优惠券系统是vivo商城营销模块中一个重要组成部分,早在15年vivo商城还是单体应用时,优惠券 ...
- C++ //虚析构和纯虚析构
1 //虚析构和纯虚析构 2 3 #include <iostream> 4 #include <string> 5 using namespace std; 6 7 clas ...
- 七夕特别篇|用Python绘画牛郎织女在鹊桥相见
大家好,我是辰哥~ 今天就是七夕节,首先提前祝福有伴侣的小伙伴,七夕快乐,没有伴侣的小伙伴,今天就会找到伴侣,(给看到这句话的你好运加持,哈哈哈). 作为会Python的我们必须做点好玩且有意义的东西 ...
- Java自定义注解使用和详解
前言 我们在做开发springboot 项目时候会遇到各种各样注解,使用各种各样注解,极大的简便了我们开发流程,方式,从JDK5开始支持 注解是Java语言的一种强大的功能 可以理解为代码上的特殊标记 ...
- Shell-05-函数
函数 函数定义 shell中函数的定义格式如下 [ function ] funname [()] { action; [return int;] } 说明: 1.可以带function fun() ...
- JVM钩子函数的使用
一.问题引入 背景 在编写一个需要持续在后台运行的程序的时候遇到了这样的场景:我的程序在主函数中创建了一个线程池周期性地执行任务,我希望主线程和线程池都持续运行,但如果收到外部的关闭信号时,主线程和线 ...
- SQL server多表联合查询
参考网址: https://blog.csdn.net/zou15093087438/article/details/79226394 1. 外连接可分为:左连接.右连接.完全外连接. a. 左连接 ...