【CF486E】LIS of Sequence题解 题目链接 题意: 给你一个长度为n的序列a1,a2,...,an,你需要把这n个元素分成三类:1,2,3: 1:所有的最长上升子序列都不包含这个元素 2:有但非所有的最长上升子序列包含这个元素 3:所有的最长上升子序列都包含这个元素 输入格式: 第 ...
分类:
其他好文 时间:
2018-10-19 10:15:20
阅读次数:
168
题意 n个区间[l,r],m个位于xi的点,如果一个区间包含一个点,则这个区间可以与这个点匹配,求最大匹配数 n,m≤200000 USACO上的水题加强了一下数据。。。 每个区间按r排序,用multiset存点,lower_bound O(logn)查询 时间复杂度:O(nlogn) ...
分类:
其他好文 时间:
2018-10-18 23:55:15
阅读次数:
162
冒泡排序、插入排序、选择排序这三种算法的时间复杂度都为 $O(n^2)$,只适合小规模的数据。今天,我们来认识两种时间复杂度为 $O(nlogn)$ 的排序算法——归并排序(Merge Sort)和快速排序(Quick Sort),他们都用到了 分治思想 ,非常巧妙。 1. 归并排序(Merge S ...
分类:
编程语言 时间:
2018-10-18 16:52:19
阅读次数:
217
[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=3362 [算法] 带权并查集 时间复杂度 : O(NlogN) [代码] ...
分类:
Web程序 时间:
2018-10-18 01:07:55
阅读次数:
215
问题描述:给定n个整数组成的序列,求其中子段和的最大值。当所有整数均为非负整数时定义其最大子段和为0 方法一:O(n²)用一个值存储最大和,用枚举所有和的方法,来与这个值比较并更新最大值。 方法二:O(nlogn)分治,分别求两边的最大子段和,再从中间分开的位置向两边拓展求最大和,三个值比较得最大子 ...
分类:
编程语言 时间:
2018-10-16 19:58:10
阅读次数:
435
二分法思想是个基础但又极其重要的思想,C++,Java,数据结构,算法设计等多门课程都详细地讲述了一遍二分法。 对于一个已排序的长数组来说,二分法其O(NlogN)的时间复杂度,对于效率的提升是毋庸置疑的,而且二分法用途广泛,实用且方便。但这一切的前提是数组已排序,对于无序表与链表,二分法便无能为力 ...
分类:
其他好文 时间:
2018-10-15 00:39:13
阅读次数:
162
1、最大堆的定义及其常用操作: 2、函数实现: 3、最大堆的建立 目的:将已经存在的N个元素按照最大堆的要求存放在一个一维数组中。 方法1:通过插入操作,将N个元素一个个相继插入到一个初始为空的堆中去,其时间代价最大为O(NlogN)。 方法2:在线性时间复杂度O(N)下建立最大堆。 (1) 将N个 ...
分类:
其他好文 时间:
2018-10-14 13:44:35
阅读次数:
325
1.送分题,$O(n)$处理前后缀,枚举断点,或者$nlogn$线段树暴力即可 2.根据$a_i \times k \equiv x\pmod{n}$,导出$gcd(a_i,n)|x$,我们枚举d|n,如果$gcd(a_i,n)|d,那么所有的满足gcd(x,n)=d,的x都能被走到$ 因为,d为x ...
分类:
其他好文 时间:
2018-10-14 00:32:41
阅读次数:
152
clique 题目描述 数轴上有 $n$ 个点,第 $i$ 个点的坐标为 $x_i$,权值为 $w_i$。两个点 $i$,$j$ 之间存在一条边当且仅当 $abs(x_i x_j) =w_i+w_j$。你需要求出这张图的最大团的点数。(团就是两两之间有边的顶点集合) 输入数据 第一行一个整数 $n$ ...
分类:
其他好文 时间:
2018-10-13 20:51:41
阅读次数:
147
1.高精度加法 复杂度O(n) 2.高精度减法 复杂度O(n) 3.高精度乘法 复杂度O(n*n) 4.高精度乘法FFT优化 复杂度O(nlogn) 5.高精度乘单精度乘法 6.高精度除法(包括取模) 7.高精度除单精度除法 8.高精度对单精度取模 9.高精度阶乘 10.高精度幂 11.高精度GCD ...
分类:
其他好文 时间:
2018-10-12 23:41:15
阅读次数:
224