6.24结束线段树、最小生成树 P1816 忠诚 P2826 [USACO08NOV]光开关Light Switching6.25完成前一天没有完成的内容 树上倍增LCA、树的遍历、树链剖分 P3379 【模板】最近公共祖先(LCA) 6.26排序:学习及备课 计数排序插入排序选择排序冒泡排序拓扑排 ...
分类:
其他好文 时间:
2017-06-24 17:21:11
阅读次数:
136
复习计划 1.数据结构:栈,队列,堆。 2.图论: 最短路 floyd,spfa,dijkstra. 最小生成树 Kruskal,prim. 最近公共祖先 lca(树上倍增). 并查集 topsort 强连通分量 tarjan。 3.搜索:dfs,bfs, 记忆化搜索. 4.DP:划分型,区间dp, ...
分类:
其他好文 时间:
2017-06-18 18:06:18
阅读次数:
149
树上倍增. dfs序的做法: 思路: 至于代码……额……没写 树上倍增还能够用来求LCA 其中f[i,j]表示i的第2^j祖先dfs预处理f[i,j]=f[f[i,j-1],j-1]; 对于每一对x,y先将深度调成一样再枚举j逐一往上找,这两个过程都是log的 代码如下: #include <ios ...
分类:
其他好文 时间:
2017-05-20 22:34:22
阅读次数:
233
1#树上倍增 以前写的博客:http://www.cnblogs.com/yyf0309/p/5972701.html 预处理时间复杂度O(nlog2n),查询O(log2n),也不算难写。 2#st表(RMQ) 首先对一棵树进行dfs,得到欧拉序列,记录下每个节点的第一次出现位置。 (先序遍历这棵 ...
分类:
编程语言 时间:
2017-01-22 22:43:30
阅读次数:
585
有关概念: 最近公共祖先(LCA,Lowest Common Ancestors):对于有根树T的两个结点u、v,最近公共祖先表示u和v的深度最大的共同祖先。 树上倍增是求LCA的在线算法(对于每一个询问输入后即计算) 思路: fa[i][j]表示编号为j的结点从下往上的第2i个祖先 即fa[0][ ...
分类:
其他好文 时间:
2016-10-17 06:54:48
阅读次数:
185
题意: 给你一个1e5长度的easy串(只含easy四个字母) 1e5个询问,每个询问一个区间l,r 问这个区间内easy的个数 思路: 当时还想预处理出最优的easy区间,然后lower_bound wa了几发发现这样并不是最优的,然后就放弃了~ 出题解后补了一个倍增 每个字母记录前面那个字母出现 ...
分类:
其他好文 时间:
2016-10-06 14:43:21
阅读次数:
185
4281: [ONTAK2015]Zwi?zek Harcerstwa Bajtockiego Description 给定一棵有n个点的无根树,相邻的点之间的距离为1,一开始你位于m点。之后你将依次收到k个指令,每个指令包含两个整数d和t,你需要沿着最短路在t步之内(包含t步)走到d点,如果不能走 ...
分类:
其他好文 时间:
2016-06-26 22:31:19
阅读次数:
160