POJ1741:Tree】的更多相关文章

http://poj.org/problem?id=1741 题目大意:给一棵树,求点对间距离<=k的个数. ———————————————————— 以这道题为例记录一下对于树分治的理解. 树分治分为两类,一类是基于点的分治,一类是基于边的分治. 后者与树链剖分很相似,但是一般用不上,这里讲的是前者. 我们一般进行树分治找的点都是这棵树的重心(即子树最大者最小的点),我们每次操作都做与这个点相关的路径,然后删除这个点再重新寻找. 分重心的好处在于我们近似的将树分成了两份,类似于二分,其深度不超…
浅谈树分治:https://www.cnblogs.com/AKMer/p/10014803.html 题目传送门:http://poj.org/problem?id=1741 这是一道树分治的模板题. 我们考虑当前经过联通块的重心\(rt\)的路径小于等于\(k\)的有多少条,不经过\(rt\)的等把\(rt\)这个点删了之后再递归去统计. 我们可以记录一下从\(rt\)出发到每个点的距离\(dis\),然后把\(dis\)从小到大排序,用两个指针\(l\)和\(r\)分别指向\(dis\)数…
[POJ1741]Tree(点分治) 题面 Vjudge 题目大意: 求树中距离小于\(K\)的点对的数量 题解 完全不觉得点分治了.. 简直\(GG\),更别说动态点分治了... 于是来复习一下. 对于每一层分治重心 求出它到子树中任意点的距离 然后\(two-pointers\)计算满足大于\(K\)的点对的数目,累加到答案中, 但是同一棵子树内的会算重 所以再对于每一棵子树,减去字数内两两满足要求的点对 完全不记得了 #include<iostream> #include<cstd…
Description You have a rooted tree consisting of n vertices. Each vertex of the tree has some color. We will assume that the tree vertices are numbered by integers from 1 to n. Then we represent the color of vertex v as cv. The tree root is a vertex…
http://poj.org/problem?id=3237 题意:树链剖分.操作有三种:改变一条边的边权,将 a 到 b 的每条边的边权都翻转(即 w[i] = -w[i]),询问 a 到 b 的最大边权. 思路:一开始没有用区间更新,每次翻转的时候都更新到叶子节点,居然也能过,后来看别人的发现也是可以区间更新的. 第一种:无区间更新水过 #include <cstdio> #include <algorithm> #include <iostream> #inclu…
题目: Given a binary tree, return the bottom-up level order traversal of its nodes' values. (ie, from left to right, level by level from leaf to root). For example:Given binary tree {3,9,20,#,#,15,7}, 3 / \ 9 20 / \ 15 7 return its bottom-up level orde…
Linux & Mac 1.下载tree lib //mac brew install tree //centos yum install tree //ubuntu apt-get install tree 用法 //显示所有文件 tree //显示深度2层 tree -L 2 2. 命令find组合 find . -print | sed -e 's;[^/]*/;|____;g;s;____|; |;g' > structure.txt 移除node_module find . -pr…
tree 以树状图列出目录的内容 语法 tree(选项)(参数) 选项 -a:显示所有文件和目录: -A:使用ASNI绘图字符显示树状图而非以ASCII字符组合: -C:在文件和目录清单加上色彩,便于区分各种类型: -d:先是目录名称而非内容: -D:列出文件或目录的更改时间: -f:在每个文件或目录之前,显示完整的相对路径名称: -F:在执行文件,目录,Socket,符号连接,管道名称名称,各自加上"*","/","@","|&quo…
题意: 给你一棵树,n个节点,每条边有长度. 然后有q组询问(u,k),每次问你:从节点u出发,走到某个节点的距离mod k的最大值. 题解: 对于无根树上的dp,一般都是先转成以1为根的有根树,然后分别从上到下和从下到上两遍dp. 另一个技巧是:处理重复走边的情况时,可以让dp值表示达到某种状态的方案数. 表示状态: dp[i][j][k] = max dis 表示从i节点出发,走的距离mod k = j时的方案数 找出答案: 对于每次询问(u,k),答案为:满足dp[u][d][k]>0的最…
shendu@shenlan:~$ tree 程序“tree”尚未安装. 您可以使用以下命令安装: sudo apt-get install tree shendu@shenlan:~$ sudo apt-get install tree TREE——显示磁盘目录结构命令 功能:显示指定驱动器上所有目录路径和这些目录下的所有文件名. .tree---当前目录下的所有内容显示 [plain] view plaincopy lwnyls@lwnyls-desktop:/usr$ tree .tree…