树
H_ang
记录一些东西吧!
展开
-
每日一题 4月3日 Shortest Path 树上贪心
题目链接:https://ac.nowcoder.com/acm/problem/13886题意:有一棵树,有n个节点。让你分成n/2对。所有对之间的距离和最小。思路:我们尽量让每条边不重复经过。那么对于一棵子树v。和他的父亲节点u。还有之间的边权w。如果siz[u]%2== 1那么v就和u连。ans+=w。如果siz[u]%2== 0那么v和自己的子树连过了。不加w的贡献。#includ...原创 2020-04-02 20:08:04 · 197 阅读 · 0 评论 -
Codeforces Round #620 (Div. 2) E 1-Trees and Queries树上路径加边是否存在dis(x,y)=k
题目链接:https://codeforces.ml/contest/1304/problem/E题目大意:给你一棵树。m次询问。每次询问输入x, y, a, b, k,添加一条x-y的边。问a到b的路径有没有经过k条边的。路径可以重复多次经过多条边和多个点。询问独立(加边仅作用于本次询问)。思路:我们考虑没有加边的时候。如果k>=dis(x, y)并且k%2==dis(x,y)那么...原创 2020-02-17 09:48:33 · 194 阅读 · 0 评论 -
codeforces D. Numbers on Tree 根据子树中比当前节点小的节点数-给点编号
题目链接:https://codeforces.com/contest/1287/problem/D题目大意:给你一棵树,每个数一个a[i]和c[i]。c[i]:所有i的子节点j满足a[i]>a[j]的节点个数。现在给你n个节点的祖先和c[i]让你分配a[i] (1<=a[i]<=1e9)。如果不能分配输出NO,如果可以输出YES并且输出每一个点的a[i]。#incl...原创 2020-01-06 22:45:44 · 276 阅读 · 0 评论 -
牛客练习赛55 -树-所有点对距离的平方和
题目链接:https://ac.nowcoder.com/acm/contest/2927/E思路:对于节点4来说,它到其他点的距离dis[i] ∑dis(4,i)2=dis[1]2+dis[2]2+dis[3]2+dis[4]2+dis[5]2+dis[6]2+dis[7]2+dis[8]2\sum dis(4, i)^2=dis[1]^{2}+dis[2]^{2}+dis[3]^{2}+...原创 2019-12-13 23:26:49 · 566 阅读 · 0 评论 -
UVA - 10410 -通过dfs序列和bfs序列还原树
思路:我们从dfs序入手。dfs相邻的两个节点AB。可能是父子节点,可能不是父子节点。我们主要不与bfs序,矛盾就可以了。满足下面情况的任何一种情那么就可以说AB是父子关系。1、bfs序A的位置+1<bfs序B的位置2、bfs序A的位置+1=bfs序B的位置 并且 A > B //可能是兄弟姐妹(同一深度)3、A的bfs序为1此时B一定是A的儿子知道这些条件就能判断A...原创 2019-11-15 22:28:49 · 389 阅读 · 0 评论 -
CodeForces - 796D bfs-树划分成森林
题目链接:http://codeforces.com/contest/796/problem/D题目大意:有一棵树,有n个消防点。每个点到最近消防点的距离<=d。题目满足这个条件。问你最多可以拆多少条边,使这个条件仍然满足。思路:刚开始我的思路是dfs每个消防点,如果距离>d拆。或者遇到消防点拆。这个思路的问题在:如图d=3,那么拆掉红色的,那么1点就不满足了。正确的思路...原创 2019-10-18 12:38:39 · 348 阅读 · 0 评论 -
树 + 子树信息的维护
题目链接:http://codeforces.com/contest/1118/problem/F1题目大意:有一棵树,有的节点是红色,有的节点是蓝色,有的节点没有颜色。把一条边拆开,分成两棵树,如果这两棵树都没有同时拥有两种颜色的节点那么这条边就是“漂亮的边”。问有多少这样的边。思路:以dfs的顺序维护dp[i][0], dp[i][1]。分别表示以节点i为子树的红色节点数,和以节点i为...原创 2019-02-21 17:26:29 · 269 阅读 · 0 评论 -
codeforces C.前卫树: 连通块+组合数学+容斥
题目链接:题目大意:给你一棵树(一个没有循环的连通无向图) ñ顶点。每一个n - 1 树的边缘用黑色或红色着色。你也给了一个整数 k,考虑序列k顶点。我们叫一个序列[ a1,a2,… ,aķ] 如果它满足以下标准则很好:我们将从树上开始走路径(可能多次访问相同的边/顶点) 开始于a1 结束于 ak。每次都走最短路径如果你在这个过程中至少走过一条黑色边缘,那么顺序是好的。k=3时,[1...原创 2019-03-22 22:51:27 · 640 阅读 · 0 评论