【UOJ 351】新年的叶子】的更多相关文章

[UOJ#351]新年的叶子 试题描述 躲过了AlphaGo 之后,你躲在 SingleDog 的长毛里,和它们一起来到了AlphaGo 的家.此时你们才突然发现,AlphaGo 的家居然是一个隐藏在地下的计算中心!难道 AlphaGo 如此人赢的秘密是...它其实是一个 AI? 根据情报,这个地下的计算中心的结构构成了一棵无根树,整个计算中心名为被 AT-field 的力场保护起来,保护力场的直径恰好等于树的直径(树的直径定义为树上距离最远的两个结点之间的距离,结点 \(u,v\) 的距离定义…
原文链接https://www.cnblogs.com/zhouzhendong/p/UOJ351.html 题目传送门 - UOJ351 题意 有一个 n 个节点的树,每次涂黑一个叶子节点(度为 1 的节点),可以重复涂黑. 问使得白色部分的直径发生变化的期望涂黑次数. $n\leq 5\times 10^5$ 题解 首先考虑什么情况下直径长度会发生改变. 考虑找到直径的中点,可能在边上. 对于这个直径相连的每一个子树,分别算出在这个子树中的距离直径中点距离为直径长度的一半的节点个数. 于是我…
传送门 数学还是太差了,想了半天都没想出来 首先有一个定理,如果直径(这里考虑经过的点数)为奇数,所有直径有同一个中点,如果直径为偶数,所有直径有同一条最中间的边.这个可以用反证法,假设不成立的话直径会变长 如果直径为奇数,那么我们可以以共同经过的那个点为根,把所有在直径上的叶子按不同的子树分类,如果某两个叶子在同一棵子树,那么它们不可能构成直径,如果在不同的子树,那么必定能构成直径.所以把所有在直径上的叶子按不同的子树分为若干个集合 如果是偶数,那么就直接分为两个集合 我们现在要求的,就是这些…
「UOJ351」新年的叶子 题目描述 有一棵大小为 \(n\) 的树,每次随机将一个叶子染黑,可以重复染,问期望染多少次后树的直径会缩小. \(1 \leq n \leq 5 \times 10^5\) 解题思路 : 首先要利用一个经典的结论,树的所有直径的中心为同一个点/边.不妨给每条边加一个虚拟点,这样整颗树的直径就只会交于同一个点了. 接下来考虑树的直径是由中心的两个儿子的两个深度为 \(maxdep\) 的叶子构成的,所以问题等价于将叶子根据中心的儿子分成若干个集合,对于所有染色方案求染…
http://uoj.ac/problem/351 其实原来看到这题是真的不想做的 毕竟真的特别怕期望题 后来莫名发现自己打了正解 也是很震惊的2333 Description   对于一棵树,每次随机染黑一个叶子(可能会重复染黑),期望多少次后直径变小 Solution 第一种R为偶数的情况时:找一个点root,所有的直径都经过这个root点,以此点为根 dpx=R/2的点可能是直径断点,先统计出来个数(x1),把所有dpx=R/2的点按他是root的哪一棵子树分成几个集合 直径改变了,当且仅…
题目链接 这的确是一道好题,我们不妨依循思路一步步推导,看问题是如何被解决的. 做一些约定,设$m$为树的叶子节点个数,设$len$为该树的直径(经过的点数). 毫无疑问,直径可能有多条,我们需要把所有直径都破坏掉才能终止,但这些直径并不是毫无联系的. 引理:若$len$为奇数,则所有直径有同一个中点:若$len$为偶数,则所有直径有同一条最中间的边. 至于证明,用反证法即可,大致就是如果存在两条直径的中点不是同一个,那就会产生更长的一条直径. 题目要求的终止状态就是不存在两个可以构成直径的点,…
#67. 新年的毒瘤 辞旧迎新之际,喜羊羊正在打理羊村的绿化带,然后他发现了一棵长着毒瘤的树. 这个长着毒瘤的树可以用n个结点m 条无向边的无向图表示.这个图中有一些结点被称作是毒瘤结点,即删掉这个结点和与之相邻的边之后,这个图会变为一棵树.树也即无简单环的无向连通图. 现在给你这个无向图,喜羊羊请你帮他求出所有毒瘤结点. 样例一 input 6 6 1 2 1 3 2 4 2 5 4 6 5 6 output 3 4 5 6 256MB 来源 UOJ Goodbye Jiawu [思路] 无向…
#67. 新年的毒瘤 Time Limit: 20 Sec  Memory Limit: 256 MB 题目连接 http://uoj.ac/problem/67 Description 辞旧迎新之际,喜羊羊正在打理羊村的绿化带,然后他发现了一棵长着毒瘤的树. 这个长着毒瘤的树可以用 n 个结点 m 条无向边的无向图表示.这个图中有一些结点被称作是毒瘤结点,即删掉这个结点和与之相邻的边之后,这个图会变为一棵树.树也即无简单环的无向连通图. 现在给你这个无向图,喜羊羊请你帮他求出所有毒瘤结点. I…
#66. 新年的巧克力棒 Time Limit: 20 Sec  Memory Limit: 256 MB 题目连接 http://uoj.ac/problem/66 Description 马上就要到羊年了,羊村一片欢腾,懒羊羊则懒洋洋地躺在草坪上吃新年的巧克力棒. 他手上的巧克力棒是个由 n 个巧克力单元格组成的长度为 n 的长条,现在懒羊羊想把巧克力棒掰开成一个个小单元格. 初始时懒羊羊会把这根巧克力棒丢在草坪上,然后每次懒羊羊会从草坪上拿起一根长度大于 1 的巧克力棒,然后从某两个相邻的…
传送门 练习一下Tarjan的模板. 求一下割点,然后加个约束条件判一下特殊点,剩下的就是所求点. //UOJ 67 //by Cydiater //2016.10.27 #include <iostream> #include <iomanip> #include <cmath> #include <ctime> #include <cstring> #include <string> #include <algorithm&…