在摊还分析中,通过求数据结构的一系列的操作的平均时间,来评价操作的代价。这样,即使这些操作中的某个单一操作的代价很高,也可以证明平均代价很低。摊还分析不涉及概率,它可以保证最坏情况下每个操作的平均性能。 摊还分析有三种常用的技术: 聚合分析,它确定n个操作的总代价的上界为T(n),所以每个操作的平均 ...
分类:
编程语言 时间:
2017-09-20 21:51:34
阅读次数:
140
HDU 2089 求给定区间内不含62和4的数的个数。 数位dp入门。从这里我清楚了一些数位dp的用法。比如limit是判断是否达到上界,而且需要判断(!limit).。比如若题目要求不含11的个数,举例来说:区间在[1,215],当百位开始枚举为0时,十位枚举1,个位可以取0,2~9,即dp[0] ...
分类:
其他好文 时间:
2017-09-09 10:54:32
阅读次数:
161
这题是一道状压加spfa,考试的时候我非常naive地写了一个复杂度为O(4^p)*O(n+m)的暴力,因为复杂度上界比较松,就卡着评测机水过了.(2000+ms) 但是这题仅仅那样做非常不科学,非常慢,也可以被卡掉时间. 于是,我请教了旁边的cxt(%%%%) cxt对我说到达一个点以及一个状态后 ...
分类:
其他好文 时间:
2017-09-08 19:32:30
阅读次数:
176
一,时间复杂度 通常我们也不需要知道T(n)的确切大小,而只需要对其上界作出估计。比如说,如果存在正常数a、N 和一个函数f(n),使得对于任何n > N,都有 T(n) < a × f(n)我们就可以认为在n 足够大之后,f(n)给出了T(n)的一个上界。对于这种情况,我们记之为T(n) = O( ...
分类:
编程语言 时间:
2017-09-05 17:57:06
阅读次数:
242
1、O(f(n)) 学术界:O表示算法执行的上界,例如,归并算法的时间复杂度可以是O(nlogn),同时也是O(n^2)的 业界认为:O表示算法执行的最低上界,归并算法的时间复杂度是O(nlogn) 2、一个时间复杂度问题 一个字符串数组,将一每个字符串进行字母序排序,然后将字符串数组进行字典序排序 ...
分类:
其他好文 时间:
2017-09-04 22:32:33
阅读次数:
225
【题目链接】 http://www.lydsy.com/JudgeOnline/problem.php?id=4520 【题目大意】 求K远点对距离 【题解】 修改估价函数为欧式上界估价,对每个点进行dfs, 因为是无向点对,在小根堆中保留前2k个距离, 不断更新堆顶元素即可。 【代码】 ...
分类:
其他好文 时间:
2017-09-04 19:56:12
阅读次数:
200
先从原理上分析切片运算: list的切片,内部是调用__getitem__,__setitem__,__delitem__和slice函数。而slice函数又是和range()函数相关的。 给切片传递的键是一个特殊的slice对象。该对象拥有可描述所请求切片方位的属性,例如: Python 的切片功 ...
分类:
编程语言 时间:
2017-09-01 11:20:01
阅读次数:
231
觉得还是先从简单例子程序着手,先了解各个算法的基本思想。 目录: 算法是指对特定问题求解步骤 的一种描述 算法的评价标准:时间复杂度与空间复杂度。 时间复杂度:考虑给定的数据数目n,关于算法的执行次数。渐进上界用O()表示,最坏情况对衡量算法的好坏具有实际的意义。 空间复杂度:算法占用的空间大小。一 ...
分类:
编程语言 时间:
2017-08-26 15:59:53
阅读次数:
1754
10大基础实用算法及其讲解 算法一:快速排序算法 快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序 n 个项目要Ο(n log n)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他Ο(n log n) 算法更快,因为它的内部循环(inner ...
分类:
编程语言 时间:
2017-08-25 01:19:21
阅读次数:
183
你用Angular 吗? 你用Angular 吗? 一.介绍 一个基于angular4 开发的可以分页的组件。组件的好处就是可以复用,复用.....作为一个前端码农,开始的分页功能实现是我用jquery写的,其他同事用的时候都要将我的代码拷贝过去,于是我被鄙视了。为了不继续被鄙视就开始了尝试。 二. ...
分类:
其他好文 时间:
2017-08-22 23:19:02
阅读次数:
201