数据结构 感觉考裸的还能写一写,考dp+树套树啥的就直接弃疗了 平衡树 强上splay吧,被卡也无所谓 https://www.luogu.org/problemnew/show/P3369 ST表 怎么都写不对系列 https://www.luogu.org/record/show?rid=471 ...
分类:
其他好文 时间:
2018-03-13 21:38:31
阅读次数:
162
Godfather poj-3107 题目大意:求树的重心裸题。 注释:n<=50000. 想法:我们尝试用树形dp求树的重心,关于树的重心的定义在题目中给的很明确。关于这道题,我们邻接矩阵存不下,用链式前向星存边,然后对于任选节点遍历,然后在回溯是进行最大值的最小值更新,之后就是一点显然的结论—— ...
分类:
其他好文 时间:
2018-03-08 20:22:23
阅读次数:
113
2103: Fire 消防站 Description Input 共N+1行。 第一行有一个正整数N,表示区域的个数。 接下来有N-1行,每行两个整数u、v,表述区域u和区域v之间有一条道路。 最后一行有N个正整数,第i个正整数表示区域i的权值W(i)。 Output 包含一个正整数,为最小的S(x ...
分类:
其他好文 时间:
2018-03-04 11:54:19
阅读次数:
238
题目链接 2016多校1 Problem J 题意 给定两棵相同的树,但是编号方案不同。求第一棵树上的每个点对应的第二棵树上的点。输出一种方案即可。 首先确定树的直径的中点。两棵树相等意味着两棵树的直径相等。 然而直径有很多条,我们任意求出两棵树的各一条直径并不以为着这两条直径是相对应的。 但是直径 ...
分类:
其他好文 时间:
2018-02-28 14:02:22
阅读次数:
162
Consider a tree T with N (1 <= N <= 20,000) nodes numbered 1...N. Deleting any node from the tree yields a forest: a collection of one or more trees. ...
分类:
其他好文 时间:
2018-02-27 01:19:24
阅读次数:
177
https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1737 求出树的重心,跑spfa ...
分类:
其他好文 时间:
2018-01-14 15:54:53
阅读次数:
166
动态点分治 感觉动态点分治一直没有太懂呀。 一定是我太菜了 点分治还是很简单的: 每次找出当前树的重心 把树至少缩小一半 然后暴力把当前的子树上的所有的可能值全部算出来 只需要容斥的算一下重复的部分就行了 动态点分治 似乎代码就比点分治多了一行: 把点分治的树按照重心割开之后 只需要记录一下它在分治 ...
分类:
其他好文 时间:
2018-01-13 11:23:44
阅读次数:
139
[BZOJ 1468][POJ 1741]Tree <题意概括> 给定一棵树,求有多少对满足两两距离不超过k的点对(u,v) <做法> 典型的点分治题目 找出当前树的重心 计算该顶点到其子树中每个顶点的路径长度 使用双指针法统计满足条件的路径条数并减去那些在同一棵子树中的路径 删除该顶点并递归处理每 ...
分类:
其他好文 时间:
2018-01-11 22:27:27
阅读次数:
197
点分治 什么是点分治? 点分治主要用于有关树上路径统计的问题。 怎么点分治? 1,选取一个点,把树变成有根树。为了让递归层数尽可能的小,我们要选取树的重心,即子树大小最大值最小的点。 2,处理联通块中通过根的路径。 3,删除根节点。 4,递归处理子树。 操作 例题们 POJ - 1741 BZOJ ...
分类:
其他好文 时间:
2018-01-03 00:41:25
阅读次数:
219
寻找树的重心 c++ include include include define N 1000004 define inf 0x3f3f3f3f using namespace std; void read(int &s){ char ch=getchar();int f=1; for(;!isd ...
分类:
其他好文 时间:
2018-01-02 19:59:46
阅读次数:
145