
数据结构与算法
每个人都该翩翩起舞
学习中的渣渣
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
基于集合关系对求解闰年数的算法优化
基于集合关系对求解闰年数的算法优化前两天在微博上看到一个视频,好像是人民日报转发的,本来想把链接挂上来的,刚刚去翻了半天,没有找到。视频中一位老师给学生讲为什么有闰年的存在,从而讲到什么是闰年。我们知道,闰年有两个条件,满足任意一个即为闰年:1、年份能被4整除但不能被400整除;2、年份能被400整除。通常,我求一个区间内的闰年数时,常规方法是会使用转载 2017-10-07 20:15:54 · 374 阅读 · 0 评论 -
欧拉筛及例题
我们先来看一下最经典的埃拉特斯特尼筛法。时间复杂度为O(n loglog n)[cpp] view plain copyint ans[MAXN]; void Prime(int n) { int cnt=0; memset(prime,1,sizeof(prime)); prime[0]=prime[1]=0; for(int i=2;i {转载 2017-11-19 22:48:54 · 607 阅读 · 0 评论 -
已知二叉树的中序遍历和前序遍历,如何求后序遍历
昨天ACM集训的时候出现了这道题,没接触过半天都没做出来,但看到解法还是挺好理解的。文章转自:feliciafay一道HULU的笔试题(How I wish yesterday once more)假设有棵树,长下面这个样子,它的前序遍历,中序遍历,后续遍历都很容易知道。PreOrder: GDAFEMHZInOr转载 2017-11-05 09:39:48 · 15505 阅读 · 4 评论 -
谈SPFA解差分约束最大值最小值的原理...
自我分析,为什么用SPFA解差分方程,用最短路径求差分方程的最大解;用最长路径求差分方程的最小解. 如果给出的是一组: a2 - a1 a3 - a1 .... 之类的一组小于等于的不等式组...那么看 a - b 而此时SPFA是求最短路径的Relax是 if ( d [ l转载 2017-11-18 17:03:35 · 1042 阅读 · 1 评论 -
学习笔记---街区最短路径问题算法及优化
描述一个街区有很多住户,街区的街道只能为东西、南北两种方向。住户只可以沿着街道行走。各个街道之间的间隔相等。用(x,y)来表示住户坐在的街区。例如(4,20),表示用户在东西方向第4个街道,南北方向第20个街道。现在要建一个邮局,使得各个住户到邮局的距离之和最少。求现在这个邮局应该建在那个地方使得所有住户距离之和最小; 输入第原创 2017-10-06 12:13:40 · 936 阅读 · 0 评论 -
学习笔记——求解素数问题之Eratosthenes(埃拉托色尼)筛选法
今天刷ACM题的时候,遇到一道题需要大量的求解素数并且求和,于是就想到了了解下求解素数的更高效算法,否则每次都只会用个根号,然后穷举就太没意义了,刷题也就只是成了刷题。通过百度,找到了很多关于Eratosthenes的文章,学习过程记于此。以下原话摘自360百科:埃拉托色尼选筛法(the Sieve of Eratosthenes)简称埃氏筛法,是古希腊数学家埃拉托色尼(Eratosthene原创 2017-10-04 18:31:49 · 1071 阅读 · 0 评论 -
减法变加法------补码----同余理论
原码就是原来的表示方法反码是除符号位(最高位)外取反补码=反码+1以前学习二进制编码时,老师讲了一堆堆的什么原码啊反码啊补码啊xxxx转换啊,还有负数的表示方式啊 总是记不零清,终于从网上找到了一种比较好的讲解方式,保存再share一下,不过为了系统化讲解,又找来了一些编码的基础知识,如果只想看负数编码记忆法,请跳转到1.如果你不知道二进制怎么编码,请继续,否则请跳转载 2017-10-10 10:36:45 · 1250 阅读 · 0 评论 -
保留结果后六位的阶乘问题
输入n,计算S=1!+2!+3!+...+n!的末6位(不含前导0)。n≤10^6。这里,n!表示前n个正整数之积。样例输入:10样例输出:37913这个问题来自于算法竞赛入门经典的第二章,有趣的在于一个结论,25!的结果后6位为000000,即从第25项开始,后面的所有项都无法影响到后6位,所以只要判断if(n>25)n=25; 既可以解决效率和溢出的问题。原创 2017-10-08 19:04:30 · 2278 阅读 · 0 评论 -
关于求最大公约数经典算法---辗转相除法的思考
辗转相除法又称欧几里德算法,是现在最常见的求最大公约数的算法之一,而对于他的原理,我却是一概不知,今天又一次遇到,经网上查证,找到一段很有意义的话。假设有两个数x和y,存在一个最大公约数z=(x,y),即x和y都有公因数z,那么x一定能被z整除,y也一定能被z整除,所以x和y的线性组合mx±ny也一定能被z整除。(m和n可取任意整数)对于辗转相除法来说,思路就是:若x>y,设x原创 2017-10-07 22:40:41 · 341 阅读 · 0 评论 -
后缀数组学习总结
今天早上碰到一道题,HDU 4552 怪盗基德的挑战书,自己傻乎乎的写了个大概O(n^3)的纯暴力,还傻傻的以为能过,超时了之后就知道出问题了,百度了一下,这道题常见的两种解法分别是后缀数组和kmp算法,都是涉及字符串处理相关的东西,没接触过,就花了一天时间好好看了看后缀数组,勉强有了个概念,但理解不深,感觉有点难,不过也很有趣,就先记下,以免以后忘了重查,毕竟以我现在入门水平应该是还不会经常碰到原创 2017-11-21 21:18:57 · 182 阅读 · 0 评论