总结
hr_whisper
来自Fzu12级学生,喜欢编程。
新blog地址: www.hrwhisper.me
展开
-
最大公约数最小公倍数 (例:HDU2028 Lowest Common Multiple Plus)
也称欧几里得算法原理:gcd(a,b)=gcd(a,a mod b)边界条件为 gcd(a,0)=a;其中mod 为求余故辗转相除法可简单表示为:int gcd(int a, int b){ return b ==0? a:gcd( b, a% b);}简洁而优雅。例如:HDU 2028 Lowest Co原创 2013-07-21 20:27:00 · 1052 阅读 · 0 评论 -
差分约束系统详解
差分约束系统就是给出一些形如x-y<=b不等式的约束,问你是否有满足问题的解,或者求最小,最大解。这个问题的神奇之处是可以转化为图论的最短路问题。原创 2014-02-16 16:17:40 · 2707 阅读 · 0 评论 -
KMP小结
1.KMP模版: 代表题目:POJ 3641 Oulipo KMP http://blog.csdn.net/murmured/article/details/12871891int f[MAXN],n,m,ans; void getFail() { f[0]=f[1]=0; int j; for(int i=1;i<n;i++)原创 2013-10-21 22:11:37 · 871 阅读 · 0 评论 -
素数表(Eratosthenes)
怎么判断一个数是素数?常规的方法是枚举从2开始的数,看看是否能被整除。但是,如果要判断的数很多的时候,那么效率会十分低下。#includeusing namespace std;const int MAXN=1000+10;int main(){ int n; cin>>n; int vis[MAXN],primer[MAXN],count=0; memset(vis,原创 2013-07-21 21:16:28 · 1835 阅读 · 0 评论 -
Size Balanced Tree(SBT树)整理
Size Balanced Tree(简称SBT)是一种平衡二叉搜索树,它通过子树的大小s[t]来维持平衡性质。它支持很多动态操作,并且都能够在O(log n)的时间内完成。我做了简单的整理。挺好理解的。原创 2013-11-29 21:04:03 · 12424 阅读 · 4 评论 -
各种字符串Hash函数比较
原文来自https://www.byvoid.com/blog/string-hash-compare/好文章,果断存自己的blog。常用的字符串Hash函数还有ELFHash,APHash等等,都是十分简单有效的方法。这些函数使用位运算使得每一个字符都对最后的函数值产生影响。另外还有以MD5和SHA1为代表的杂凑函数,这些函数几乎不可能找到碰撞。常用字符串转载 2014-02-12 21:45:51 · 755 阅读 · 0 评论 -
暑假总结
上个月末在学java,自己写了个坦克大战,体会了一下面向对象的开发。也算触类旁通啦~本来想好好研究一下c++ primer plus,但感觉不如c++ primer实在。 开学了。翻了翻离散的书,发现太好用了。果然站的高才能看得远啊。缺少理论知识,所以有时做起题目很困难。好好学离散,好好学数据结构。 一些零散的学习笔记: 一、ceil(x) //返回原创 2013-09-08 14:06:13 · 1084 阅读 · 0 评论 -
西二在线十五周年听学长演讲完后我的感想
关于今天西二在线十五周年感想1、 运气是成功者的谦词,失败者的借口。 林晓斌学长说自己是一路运气上去的,但机会总是给有准备的人。努力不一定换来机会,但换来抓住机会的能力,我们能做的唯有尽力。2、 不要看别人比你有天赋。“以我们现在的努力程度,还远远没有达到拼天赋的地步”3、 专业课看似无用实则有用,比如操作系统,编译原理。所以下学期好好学操作系统。4、 要想不被淹没在浪潮之原创 2013-12-31 20:41:08 · 2313 阅读 · 3 评论 -
中国剩余定理
转载至:http://www.cnblogs.com/walker01/archive/2010/01/23/1654880.html中国剩余定理介绍 在《孙子算经》中有这样一个问题:“今有物不知其数,三三数之剩二(除以3余2),五五数之剩三(除以5余3),七七数之剩二(除以7余2),问物几何?”这个问题称为“孙子问题”,该问题的一般解法国际上称为“转载 2013-12-11 22:03:18 · 687 阅读 · 0 评论 -
巴什博奕小结 HDU2188 HDU1846 HDU2149
巴什博奕。如果n=m+1,那么必定后者取胜,因为无论先取者拿走多少个,后者能一次性拿完。那么我们就可以推断出:如果n是m+1的倍数,那么必然后者胜利。#includeint main(){ int T; scanf("%d",&T); while(T--) { int n,m; scanf("%d%d",&n,&m); if(n%(m+1)) prin原创 2013-08-11 19:27:51 · 839 阅读 · 0 评论 -
最短路算法详解(Dijkstra/SPFA/Floyd)
常用的图论最短路算法详解(dijkstra/SPFA/floyd)原创 2014-02-16 13:08:29 · 5440 阅读 · 2 评论