基數排序是一個複雜度突破了O(nlogn)的排序算法 優點:快 缺點:需要額外空間一倍,只是用與整數 原理:一次按照數據的最低位,次底位……最高位進行排序,利用桶子來進行。 見代碼: ...
分类:
编程语言 时间:
2018-12-05 22:31:37
阅读次数:
219
时间复杂度最优时间复杂度:O(nlogn)最坏时间复杂度:O(n)稳定性:不稳定从?开始快速排序平均需要花费O(nlogn)时间的描述并不明显。但是不难观察到的是分区运算,数组的元素都会在每次循环中?访过?次,使?O(n)的时间。在使?结合(concatenation)的版本中,这项运算也是O(n)。在最好的情况,每次我们运??次分区,我们会把?个数列分为两个?近相等的?段。这个意思就是每次递归调
分类:
编程语言 时间:
2018-12-04 19:09:29
阅读次数:
198
动态点分治 先看一道题目 [ZJOI2007]捉迷藏 显然如果不带修改O(N)的树形动规和O(NlogN)的静态点分治都可以切掉这道题 一、点分树 考虑点分治,对于每一个分治区域树的重心的答案只会与其所有子区域树有关,所以我们可以再构建一颗点分树: 在点分治的过程中,我们把每个区域树的重心和其子区域 ...
分类:
其他好文 时间:
2018-12-03 13:53:37
阅读次数:
204
1.实践题目 2.问题描述 给定k 个排好序的序列, 用 2 路合并算法将这k 个序列合并成一个序列。 假设所采用的 2 路合并算法合并 2 个长度分别为m和n的序列需要m+n-1 次比较。试设 计一个算法确定合并这个序列的最优合并顺序,使所需的总比较次数最少。 为了进行比较,还需要确定合并这个序列 ...
分类:
编程语言 时间:
2018-12-02 20:07:39
阅读次数:
154
1.实践题目 程序存储问题 2.问题描述 设有n 个程序{1,2,…, n }要存放在长度为L的磁带上。程序i存放在磁带上的长度是 li,1≤i≤n。 程序存储问题要求确定这n 个程序在磁带上的一个存储方案, 使得能够在磁带上存储尽可能多的程序。 对于给定的n个程序存放在磁带上的长度,计算磁带上最多 ...
分类:
编程语言 时间:
2018-12-02 12:07:22
阅读次数:
183
1.实践题目 程序存储问题 2.问题描述 设有n 个程序{1,2,…, n }要存放在长度为L的磁带上。程序i存放在磁带上的长度是 li,1≤i≤n。 程序存储问题要求确定这n 个程序在磁带上的一个存储方案, 使得能够在磁带上存储尽可能多的程序。 对于给定的n个程序存放在磁带上的长度,计算磁带上最多 ...
分类:
编程语言 时间:
2018-12-01 15:24:00
阅读次数:
140
1.实践题目 7-3 程序存储问题 2.问题描述 设有n 个程序{1,2,…, n }要存放在长度为L的磁带上。程序i存放在磁带上的长度是 li,1≤i≤n。 程序存储问题要求确定这n 个程序在磁带上的一个存储方案, 使得能够在磁带上存储尽可能多的程序。 对于给定的n个程序存放在磁带上的长度,计算磁 ...
分类:
编程语言 时间:
2018-12-01 01:14:09
阅读次数:
276
浅谈树分治: "https://www.cnblogs.com/AKMer/p/10014803.html" 题目传送门: "https://www.spoj.com/problems/FTOUR2/" 我们设$f_i$表示只经过$i$个黑点的路径的最长距离。从目前的根到当前点的路径上黑点个数为$c ...
分类:
其他好文 时间:
2018-12-01 00:12:01
阅读次数:
223
[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=1717 [算法] 首先二分答案 , 然后将后缀分组即可 详见2009国家集训队论文集之 : 《后缀数组——处理字符串的有利工具》 时间复杂度 : O(NlogN) [代码] ...
分类:
其他好文 时间:
2018-12-01 00:06:02
阅读次数:
198