首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
CSP-S 2019 Day 2 T3 树的重心
】的更多相关文章
CSP-S 2019 Day 2 T3 树的重心
CSP-S 2019 Day 2 T3 树的重心 题 给出了一个大小为\(n\)的树,树中结点从 1∼n 编号.小简单的课后作业是求出这棵树单独删去每条边后,分裂出的两个子树的重心编号和之和. \(n\le 10^5\) 思路 计算每一个点对答案单独的贡献. 删除一条边等价于把一个子树分裂出来,这个子树的根节点设为\(v\). 对于一个点\(x\),大致有以下几种情况. 它在被分裂出来的子树内(此时\(v\)是\(x\)的祖先或就是\(x\)) 被分裂出来的子树在\(x\)外 被分裂出来的子树在…
@CSP模拟2019.10.16 - T3@ 垃圾分类
目录 @description@ @solution@ @accepted code@ @details@ @description@ 为了保护环境,p6pou建设了一个垃圾分类器. 垃圾分类器是一个树形结构,由 n 个垃圾桶和 n-1 条双向传送带组成. 垃圾处理器的编号为 1, 2, ..., n,每条传送带都可以花 1 秒钟将垃圾从一个垃圾桶输送到另一个垃圾桶. 垃圾投放点是编号为 r 的垃圾桶,垃圾总是投放在这里. 垃圾共有 n 种,编号也是 1, 2, ..., n. 编号为 i 的垃…
上午小测3 T1 括号序列 && luogu P5658 [CSP/S 2019 D1T2] 括号树 题解
前 言: 一直很想写这道括号树..毕竟是在去年折磨了我4个小时的题.... 上午小测3 T1 括号序列 前言: 原来这题是个dp啊...这几天出了好几道dp,我都没看出来,我竟然折磨菜. 考试的时候先打了个暴力,然后就开始往容斥上想.... 解析: 考虑dp. 令dp[i] 表示以i为结尾的,合法的子串数量. 令match[i] 表示进行括号匹配时,与i匹配的括号的编号. (以上i都是右括号,如果是左括号置为0即可) 然后,就有: if(match[i]) dp[i]=dp[match[i]-1…
【CSP-S 2019】树的重心(重心的性质)
Description 给定一颗 \(n\) 个顶点的树 \(\text T\),共 \(n-1\) 次断边操作,每次将树分为两部分 \(\text T_1, \text T_2\),求: \[\sum_{(u, v)\in\text E}\left( \sum_{x \text{为} \text T_1 \text{的重心} } x + \sum_{y \text{为} \text T_2 \text{的重心} } y \right) \] 注意,一棵树的重心可能有两个. Hint \(1\l…
【CSP-S 2019】【洛谷P5666】树的重心【主席树】【树状数组】【dfs】
题目: 题目链接:https://www.luogu.com.cn/problem/P5666 小简单正在学习离散数学,今天的内容是图论基础,在课上他做了如下两条笔记: 一个大小为 \(n\) 的树由 \(n\) 个结点与 \(n − 1\) 条无向边构成,且满足任意两个结点间有且仅有一条简单路径.在树中删去一个结点及与它关联的边,树将分裂为若干个子树:而在树中删去一条边(保留关联结点,下同),树将分裂为恰好两个子树. 对于一个大小为 \(n\) 的树与任意一个树中结点 \(c\),称 \(c\…
【CSP模拟赛】仔细的检查(树的重心&树hash)
题目描述 nodgd家里种了一棵树,有一天nodgd比较无聊,就把这棵树画在了一张纸上.另一天nodgd更无聊,就又画了一张. 这时nodgd发现,两次画的顺序是不一样的,这就导致了原本的某一个节点u0在第一幅图中编号为u1,在第二副图中编号为u2. 于是,nodgd决定检查一下他画出的两棵树到底是不是一样的.nodgd已经给每棵树的节点都从1到n进行了编号,即每棵树有n个节点. 如果存在一个1到n的排列p1,p2…pn,对于第一幅图中的任意一条边(i,j),在第二幅图中都能找到一条边(p…
[CSP-S2019]树的重心 题解
CSP-S2 2019 D2T3 考场上扔了T2来打这题的部分分,然后没看到数据范围是等号,不知道怎么判完全二叉树然后40分滚粗…… ---- 思路分析 很容易想到$O(n^2)$每次暴力找重心,这个暴力可以用各种神仙方法优化. 通过分析35分的特殊构造分,可以有一个想法,既然特殊构造可以有结论,那么是否也可以有一些结论来解决或者优化整个问题的解法.实际上,通过分析样例可以得到一些性质,这些性质可能有利于问题的求解: 1. 一棵树如果有两个重心,这两个重心一定是相邻的2. 一棵树的重心一定在根节…
POJ3107Godfather[树形DP 树的重心]
Godfather Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 6121 Accepted: 2164 Description Last years Chicago was full of gangster fights and strange murders. The chief of the police got really tired of all these crimes, and decided to…
poj1655 树的重心 树形dp
树的重心定义为:找到一个点,其所有的子树中最大的子树节点数最少,那么这个点就是这棵树的重心,删去重心后,生成的多棵树尽可能平衡. 处理处每个节点的孩子有几个,和树的大小就好了. #include<cstdio> #include<queue> #include<cstring> #include<iostream> #include<algorithm> #define INF 99999999 using namespace std; ; st…
poj3107 求树的重心(&& poj1655 同样求树的重心)
题目链接:http://poj.org/problem?id=3107 求树的重心,所谓树的重心就是:在无根树转换为有根树的过程中,去掉根节点之后,剩下的树的最大结点最小,该点即为重心. 剩下的数的 最大结点dp[i]=max(max(s[j]),n-s[i]) 其中的s[i]为以i为根节点的子树的结点总数,j为i的孩子. //思路和代码都是比较好理解的 代码: #include<iostream> #include<cstdio> #include<algorithm&g…