"传送门" 题意: 给出一颗以$1$为根的有根树,每个结点有个颜色$c_i$。 之后要回答$m$组询问,每组询问包含$v_i,k_i$,要回答以$v_i$为根的子树中,颜色出现次数不小于$k_i$的颜色的和。 思路: 这种静态子树上的问题,可以考虑dsu on tree。 由于要回答次数超过$k$的 ...
分类:
其他好文 时间:
2019-11-14 21:56:49
阅读次数:
71
一种具有 $f(n)=g(n)+h(n)$ 策略的启发式算法能成为 A 算法的充分条件是: 搜索树上存在着从起始点到终了点的最优路径。 问题域是有限的。 所有结点的子结点的搜索代价值 $ 0$。 $h(n) \le h^\ast (n)$ ($h^\ast (n)$ 为实际问题的代价值)。 "Rem ...
分类:
编程语言 时间:
2019-11-14 12:35:36
阅读次数:
89
先求出任意一棵最小生成树,然后对边分类讨论1.非树边,答案即最小生成树的环上的最长边2.树边,反过来考虑,相当于对于每一个点对那条路经打上标记,取min对于1直接用倍增维护即可,对于2可以用树链剖分/差分+启发式合并但都需要两个log,所以有一种很神奇的做法考虑从小到大枚举非树边,然后暴力修改,容易 ...
分类:
其他好文 时间:
2019-11-12 16:02:56
阅读次数:
76
介绍 算法作为一种最短路径算法,可以用来计算一个节点到图上其他节点的最短距离。 主要是通过启发式的思想,由中心节点层层向外拓展,直到找到中点。 适用于无向图和有向图。 算法思想 1. 假设我们要计算节点 到其它节点的最短距离 2. 引入两个集合( ,`U S`表示已经求出最短路径的点(以及最短距离) ...
分类:
编程语言 时间:
2019-11-12 09:14:57
阅读次数:
99
题目大意 给你一个树,每个节点上有有一个部落,以及部落的人数,要你求出每个节点的子树里面人数最多的部落是哪一个(人数相同部落编号最小的)。 思路 ~~全网第一篇分治题解~~ 考虑树的dfs序,然后分治处理,每层只处理跨过mid的区间,然后就完了。 时间复杂度$O(nlogn)$,但常数比树上启发式合 ...
分类:
其他好文 时间:
2019-11-06 22:51:24
阅读次数:
170
实为1027练习题C 遥色点对题解 给出一张由编号1到n的n个点和m条边构成的无向图。每条边都有一定的长度。 定义,一条路径的“代价”:该路径上最长一条边的长度。 定义,点x到点y的“点距”:点x到点y的最小代价。 图中每个点都被涂上了颜色,第i号点的颜色编号为Ci。 满足x=K 的任意一对点(x, ...
分类:
其他好文 时间:
2019-11-04 17:15:21
阅读次数:
71
Windows内核分析索引目录:https://www.cnblogs.com/onetrainee/p/11675224.html 用户APC的执行过程 一、一个启发式问题 有一个问题,线程什么时候检查自己的APC队列,答案前面已经介绍过,是执行KiServerExit函数时。 KiService ...
分类:
其他好文 时间:
2019-11-03 17:57:34
阅读次数:
100
今天介绍一个神仙算法:Dsu On Tree[ 树上启发式合并 ] 这个算法用于离线处理询问子树信息,而且很好写。 但是在你没有理解它之前,这是个很鬼畜的算法。 理解后你才能真心感到它的美妙之处。 关键是它是有着媲美线段树合并的时间复杂度的“暴力”算法。 这里说一件事,我学这个东西时找了很多篇博客, ...
分类:
其他好文 时间:
2019-11-01 20:30:53
阅读次数:
111
dsu on tree. $\rm 0x01$ 前言$\&$技术分析 $\bold{dsu~on~tree}$,中文别称“树上启发式合并”(虽然我并不承认这种称谓),大概是一种优雅的暴力,并且跟$dsu$毫无关系。于是我打算叫他$\bold{Elegantly~Direct~Counting~on~ ...
分类:
其他好文 时间:
2019-10-27 23:09:40
阅读次数:
114
习题3 3.1 什么是搜索?有哪两大类不同的搜索方法?两者的区别是什么? 搜索:根据问题的实际情况,不断寻找可利用知识,从而构造一条代价最小的推理路线,使得问题得以解决的过程称为搜索。 两大类不同的搜索方法:盲目搜索、启发式搜索 两者的区别:在搜索过程中是否使用启发式信息 3.2 什么是状态空间?用 ...
分类:
其他好文 时间:
2019-10-25 13:07:22
阅读次数:
323