题意:给出n,求不大于n的素数有多少个。 算法:先用线性时间复杂度的筛法打素数表,对于每个输入统计不超过的素数个数。 #include int p[100010]; bool np[1000010]; int cntp; void SievePrime(int n) { for (int i = 0... ...
分类:
其他好文 时间:
2017-08-21 18:52:24
阅读次数:
115
学一把看毛片算法我觉得自己才能变得更加出色 明明昨天的题我都知道怎么模拟了,但是还是不会改KMP,是我学丑了 KMP是Knuth-Morris-Pratt三人设计的线性时间字符串匹配算法 nxt数组的介绍,卧槽,直接找到太爽啦 就是我匹配的时候是可以回退的,因为字符的肯能性有限 比如aaaaaaaa ...
分类:
编程语言 时间:
2017-08-20 21:21:09
阅读次数:
122
网络流 题记:网络流是最近讲过的最迷算法…… 网络流(network-flows)是一种类比水流的解决问题方法,与线性规划密切相关。非常重视选手在网络流上的建模技巧,画图是非常关键的。 1、最大流 问题引入: 有n条沟渠,与水坑s、t相连,汇聚成m个点,第i条沟渠的水流的流量为c[i],每一个点的流 ...
分类:
其他好文 时间:
2017-08-19 17:04:58
阅读次数:
172
8.1 排序算法的下界 定理8.1 在最坏情况下,任何比较排序算法都需要做Ω(nlgn)次比较。 推论8.2 堆排序和归并排序都是渐进最优的比较排序算法。 8.2 计数排序 计数排序假设n个输入元素中的每一个都是在0到k区间内的一个整数,其中k为某个整数。当k=O(n)时,排序的运行时间为θ(n)。 ...
分类:
编程语言 时间:
2017-08-16 17:05:12
阅读次数:
128
列思路,以后填坑。 a. 证明:最小生成树是瓶颈生成树 证略 b. 给定图G和整数b,线性时间内判断瓶颈生成树T值是否不超过b 解:DFS或BFS遍历图G,跳过所有权值大于b的边,最后若有节点未遍历到,则T值大于b,否则不超过b c. 求瓶颈生成树T值 1. 求出边权值的中位数(类似于求nth el ...
分类:
编程语言 时间:
2017-08-14 22:26:30
阅读次数:
622
翻译 给定一个整型数组,除了某个元素外其余的均出现了三次。找出这个元素。 备注: 你的算法应该是线性时间复杂度。你能够不用额外的空间来实现它吗? 原文 Given an array of integers, every element appears three times except for o ...
分类:
其他好文 时间:
2017-08-06 17:04:43
阅读次数:
123
/* 遇到素数需要打表时,先估算素数的个数: num = n / lnx; num为大概数字,越大误差越小(只是估计,用于估算素数表数组大小) 这个打表法效率貌似很高,网上说几乎达到了线性时间(不知道是真是假=。=) */ #include #include #include #include #i... ...
分类:
其他好文 时间:
2017-08-02 23:24:43
阅读次数:
175
对n较大的排序记录。一般的选择都是时间复杂度为O(nlog2n)的排序方法。 时间复杂度来说: (1)平方阶(O(n2))排序 各类简单排序:直接插入、直接选择和冒泡排序;(2)线性对数阶(O(nlog2n))排序 快速排序、堆排序和归并排序;(3)O(n1+§))排序,§是介于0和1之间的常数。 ...
分类:
编程语言 时间:
2017-08-02 00:44:06
阅读次数:
230
题目来源,待字闺中,原创@陈利人 ,欢迎大家继续关注微信公众账号“待字闺中” 原题 给定一批查询日志。数量为n。当中,有的查询出现了多于n/3次,请在线性时间内,找到全部满足条件的查询。 分析 假设初次遇到这个问题,我们会有什么样的思路呢? 採用hashmap进行计数,O(n)的空间,O(n)的时间 ...
分类:
其他好文 时间:
2017-07-22 23:50:38
阅读次数:
191
来源:http://blog.csdn.net/qq_34494458/article/details/75253466 KMP算法,是由Knuth,Morris,Pratt共同提出的模式匹配算法,其对于任何模式和目标序列,都可以在线性时间内完成匹配查找,而不会发生退化,是一个非常优秀的模式匹配算法 ...
分类:
编程语言 时间:
2017-07-18 11:51:29
阅读次数:
210