【题意】给定ai,将1~n从小到大插入到第ai个数字之后,求每次插入后的LIS长度。 【算法】树状数组||平衡树 【题解】 这是树状数组的一个用法:O(n log n)寻找前缀和为k的最小位置。(当数列中只有0和1时,转化为求对应排名的数字,就是简单代替平衡树) 根据树状数组的二进制分组规律,从大到 ...
分类:
编程语言 时间:
2017-11-28 15:36:25
阅读次数:
232
感觉今天状态起飞了!!!之前留的坑一调就A了,舒服!!! 那么这题之前一看就觉得,假如一个人没人认识实际上他必须查一下,那么我第一次做的时候就把他抽象成了很多棵树,然后我只查树根,然后下面的每一层我都知道身份,那就没有生命之忧了。然后特判一下有一个人没人认识tata也不认识别人,就是自己独立出来的, ...
分类:
其他好文 时间:
2017-11-26 15:51:41
阅读次数:
151
"BZOJ 2152" 匆匆可可 | 树的点分治 点分治板题。 把树从重心分开,递归处理各个子树,并处理路径跨重心的情况:计算所有点中距离重心的距离相加为3的倍数的点对数,再减去每个子树中距离重心距离和加上二倍“重心到该子树根距离”为3的倍数的点对数。 c++ include include inc ...
分类:
其他好文 时间:
2017-11-24 00:10:16
阅读次数:
146
前言:搞懂非递归和递归三种遍历,二叉树的90%的问题算你全搞定了。 先序遍历:根,左子树,右子树 中序遍历:左子树,根,右子树 后序遍历:左子树,右子树,根 先序遍历序列的特点:ABCDEFGHIJK A是树根,左子树可能是BCDEFGH右子树可能是IJK 对于B左子树可能是CD,右子树可能是EFG ...
分类:
其他好文 时间:
2017-11-22 14:22:00
阅读次数:
114
思路: 1. 使用列表保存结果; 2. 使用栈(列表实现)存储结点; 3. 当根结点存在,保存结果,根结点入栈; 4. 将根结点指向左子树; 5. 根结点不存在,栈顶元素出栈,并将根结点指向栈顶元素的右子树; 6. 重复步骤3 6,直到栈空。 LeetCode: 144. Binary Tree P ...
分类:
编程语言 时间:
2017-11-20 01:05:37
阅读次数:
240
2017-11-17 一、哈夫曼树 (1)哈夫曼树(最优二叉树),是指权值为w1,w2,....,wn的n个叶结点所构成的二叉树中带权路径长度最小的二叉树。 (2)从树中一个结点到另一个结点之间的分支构成这两个结点之间的路径,路径上的分支数目称做路径长度。 (3)树的路径长度(PL)是从树根到每一个 ...
分类:
其他好文 时间:
2017-11-17 20:02:21
阅读次数:
104
Color a Tree 题目大意:一棵树,根为1.某些点有一些限制。限制A: 该$x_i$点子树染色点至少$y_i$个。 限制B: 该$x_i$点子树外染色至少$y_i$个。求最少染色点数。 首先是二分答案,二分染色的点数。check就是对于这个mid能否满足要求。 令$f1[i]$表示$i$为根 ...
分类:
其他好文 时间:
2017-11-16 00:50:16
阅读次数:
285
Apple Tree POJ - 2486 题目大意:一棵点带权有根树,根节点为1。从根节点出发,走k步,求能收集的最大权值和。 树形dp。复杂度可能是O(玄学),不会超过$O(nk^2)$。(反正这题不卡这个,考思想)参考 ans[i][j][0]表示i点以下共走j步,不回来,可能收集到最大的权值 ...
分类:
移动开发 时间:
2017-11-09 11:32:39
阅读次数:
209
洛谷P3379 【模板】最近公共祖先(LCA) 题目描述 如题,给定一棵有根多叉树,请求出指定两个点直接最近的公共祖先。 输入输出格式 输入格式: 第一行包含三个正整数N、M、S,分别表示树的结点个数、询问的个数和树根结点的序号。 接下来N-1行每行包含两个正整数x、y,表示x结点和y结点之间有一条 ...
分类:
其他好文 时间:
2017-11-08 19:59:00
阅读次数:
171
P3379 【模板】最近公共祖先(LCA) 题目描述 如题,给定一棵有根多叉树,请求出指定两个点直接最近的公共祖先。 输入输出格式 输入格式: 第一行包含三个正整数N、M、S,分别表示树的结点个数、询问的个数和树根结点的序号。 接下来N-1行每行包含两个正整数x、y,表示x结点和y结点之间有一条直接 ...
分类:
其他好文 时间:
2017-11-07 22:21:01
阅读次数:
212