随笔分类 - 数据结构—树
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=5242 题意: 给出一棵树,每个节点都有一个权值,每次可以获得从根结点(1)到叶子节点上的所有权值和,每个节点只能获得一次。求k次操作后可以获得的最大权值和。 思路: 反向建图,首先求出所有节点到根节点的权值和,然
阅读全文
摘要:http://poj.org/problem?id=1741 题意: 给出一棵树,求出树上满足两点权值之和不大于k的点对数。 思路: 直接暴力就是O(n2),显然不行。这里有一篇论文可以推荐大家看一下。 因为一条路径要么过根结点,要么不过,即在一棵子树中,然后我们可以用分治法。每次确定一个根u
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=6121 题意:给你一颗完全K叉树,求出每棵子树的节点个数的异或和。 思路: 首先需要了解一些关于完全K叉树或满K叉树的一些知识: 对于每棵子树,只有三种情况: ①是满K叉树 ②不是满K叉树 ③叶子节点 并且非满K叉
阅读全文
摘要:https://vjudge.net/problem/UVALive-3486 题意: 判断u是否是v的祖先。 思路: 很简单,dfs遍历,记录每个节点第一次访问时的时间戳 in[i] 和第二次访问时的时间戳 out[i],如果满足in[x]<in[y]<out[x],那么x就是y的祖先。 用dfs
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1005 题意: Description 自从明明学了树的结构,就对奇怪的树产生了兴趣......给出标号为1到N的点,以及某些点最终的度数,允许在任意两点间连线,可产生多少棵度数满足要求的树? 自从明明
阅读全文
摘要:http://codeforces.com/contest/796/problem/C Although Inzane successfully found his beloved bone, Zane, his owner, has yet to return. To search for Zan
阅读全文
摘要:http://codeforces.com/contest/812/problem/D 题意: 现在有n个孩子,m个玩具,每次输入x y,表示x孩子想要y玩具,如果y玩具没人玩,那么x就可以去玩,如果y有人玩的话,x就必须等待y玩完后才能玩。如果出现循环,那么这个循环里的孩子都会哭。 现在有q次询问
阅读全文
摘要:http://poj.org/problem?id=1985 题意:给出树,求最远距离。 题意: 树的直径。 树的直径是指树的最长简单路。 求法: 两遍BFS :先任选一个起点BFS找到最长路的终点,再从终点进行BFS,则第二次BFS找到的最长路即为树的直径。 原理: 设起点为u,第一次BFS找到的
阅读全文
摘要:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1737 题意: 思路: 树的重心。 树的重心就是其所以子树的最大的子树结点数最少,删除这个点后最大连通块的结点数最小,也就说各个连通块尽量平衡。 这道题的话就是先求一个重心,
阅读全文