传送门 就是简单的ST表问题+ LCA,用ST表预处理好连续区间的LCA,然后进行查询 注意HDU是多组输入,把相应的值清零即可。 LCA采用倍增法,lg是常数优化。 ST表用模板,维护$[i,i + 2^j - 1]$这个区间的LCA 时间复杂度为预处理$O(nlogn)$ 查询$O(mlogn) ...
                            
                            
                                分类:
其他好文   时间:
2020-06-27 09:32:26   
                                阅读次数:
54
                             
                    
                        
                            
                            
                                \(dsu\ on\ tree\) 是一个树上优化暴力,在统计每个子树信息的时候可以做到 \(O(nlogn)\) 大致思路:先轻重链剖分,然后统计每棵子树信息的时候先递归所有轻儿子(回溯时清空信息),最后递归重儿子(回溯时不清空信息)。 最重要的就是时间复杂度分析了吧(其实非常简单):我们发现一个 ...
                            
                            
                                分类:
其他好文   时间:
2020-06-25 12:21:45   
                                阅读次数:
62
                             
                    
                        
                            
                            
                                    Counting Sort 计数排序适用于数据量很大,但是数据类别很少的情况,可以做到线性时间。 举例来看:如果有100万个字符串,但只有cat, dog, person三种类型,采用基于比较的排序方式,可以做到$NlogN$,计数排序采用了一种完全不同的思想: 新建一个counts[3],记录每种 ...
                            
                            
                                分类:
其他好文   时间:
2020-06-24 10:31:57   
                                阅读次数:
52
                             
                    
                        
                            
                            
                                一、分治法 时间复杂度:O(NlogN) 通过70%样例,超时 import java.util.*; public class Main { static int res = 0; static void solution(int[] a, int i, int j, int x) { if(i  ...
                            
                            
                                分类:
其他好文   时间:
2020-06-24 00:41:01   
                                阅读次数:
65
                             
                    
                        
                            
                            
                                题目要求我们在线二维数点。 看到二维很容易想到用树套树维护。时间复杂度为O((n+q)log^2n+点数*logn) 但是其实不用树套树。 题目中没有修改,所以可以对x轴建线段树,每个节点维护一个从小到大排序的表表示这个区间管辖的节点的y值。 每次可以两次二分求得询问区间,再O(点数)询问合法点数。 ...
                            
                            
                                分类:
其他好文   时间:
2020-06-18 11:06:46   
                                阅读次数:
55
                             
                    
                        
                            
                            
                                概述 本文中主要讲解一些常见排序算法,分别是冒泡排序,插入排序,选择排序,希尔排序,归并排序,快速排序,堆排序,计数排序 常见排序算法可以分为两大类: 非线性时间比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此称为非线性时间比较类排序。 线性时间非比较类排序 ...
                            
                            
                                分类:
编程语言   时间:
2020-06-17 13:03:11   
                                阅读次数:
69
                             
                    
                        
                            
                            
                                来一个O(nlogn)做法,跑得挺快。 假设点集S包含点X,Y,Z,红色链长度为a,黄色链长度为b,绿色链长度为c。 如果|a-b|>1,那么有|dis(X,Z)-dis(Y,Z)|=|(a+c)-(b+c)|=|a-b|>1,不符合题目要求。 所以a=b或|a-b|=1。所以存在一个点A,到S中每 ...
                            
                            
                                分类:
其他好文   时间:
2020-06-13 21:06:31   
                                阅读次数:
92
                             
                    
                        
                            
                            
                                快速排序 快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序 n 个项目要 Ο(nlogn) 次比较。在最坏状况下则需要 Ο(n2) 次比较,但这种状况并不常见。事实上,快速排序通常明显比其他 Ο(nlogn) 算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效 ...
                            
                            
                                分类:
编程语言   时间:
2020-06-13 17:46:26   
                                阅读次数:
79
                             
                    
                        
                            
                            
                                    看看大家都是$O(n)$的,小蒟蒻已经方得不行…… 那我来一篇$O(nk+nlogn)$的好了,还是可以AC哒 用$cnt_i$表示前i家中最低消费不超过$p$元的咖啡馆的数量 用$sum_{i,k}$表示前i家中k色调的客栈总数 我们枚举第一家客栈 并计算此时选择第二家客栈的方法总数 (就是有多少 ...
                            
                            
                                分类:
其他好文   时间:
2020-06-11 20:01:49   
                                阅读次数:
53
                             
                    
                        
                            
                            
                                    滑动窗口/【模板】单调队列 https://www.luogu.com.cn/problem/P1886 前言: 个人而言,这是一道很不错的题。为什么?因为OIer们可以使用多种不做法A掉这道题(当然,方法最多的貌似还是著名的A+B系列问题??) 该篇题解通过三种做法(严格来算是两种)来讲解该题qw ...
                            
                            
                                分类:
其他好文   时间:
2020-06-10 11:16:04   
                                阅读次数:
50