
算法知识
文章平均质量分 83
sky-edge
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
BigInteger大整数类高精度
代码来自刘汝佳的《算法竞赛入门经典》(第二版) #include #include #include #include #include #include #include using namespace std; struct BigInteger { static const int BASE = 100000000; static const int WIDTH =转载 2016-02-26 00:20:55 · 2282 阅读 · 0 评论 -
math数学部分
gcd最大公约数(欧几里德算法,迭代形式) int gcd(int a,int b)//普通方法 { int m,n,r; m=a>=b?a:b;//m>=n n=a<b?a:b; r=m%n; while(r!=0) { m=n; n=r; r=m%n; } return n; } lcm最小公倍数 int lcm(int a,int b) { re原创 2016-02-26 00:29:27 · 563 阅读 · 0 评论 -
Disjoint-Set并查集
路径压缩+启发式合并,应该是最快的了吧 #include #include #include using namespace std; #define maxn 100 int set[maxn]; int size[maxn];//结点数 void init_set() { for(int i=0;i<maxn;++i) { set[i]=i; size[原创 2016-02-26 00:24:21 · 377 阅读 · 0 评论 -
对拍程序的写法
对拍是什么呢? 对拍就是你给两个程序,和一个随机数据生成器,然后系统去用这个随机数据生成器的输出作为你这两个程序的输入,然后比较你这两个程序的输出,可以找到一组使这两个程序输出不一样的数据(如果存在的话) 怎么对拍呢? 首先,新建一个文件夹, 然后,在里面放入biaoda.exe,和test.exe。 biaoda.exe是你暴力写的一个做法或者你从网上找的一份AC代码生成的程序原创 2016-04-26 18:09:28 · 28656 阅读 · 8 评论 -
八数码 八境界
八数码 八境界 境界一、 暴力广搜+STL 开始的时候,自然考虑用最直观的广搜,因为状态最多不超过40万,计算机还是可以接受的,由于广搜需要记录状态,并且需要判重,所以可以每次图的状态转换为一个字符串,然后存储在stl中的容器set中,通过set的特殊功能进行判重,由于set的内部实现是红黑树,每次插入或者查找的复杂度为Log(n),所以,如果整个算法遍历了所有状态,所需要的复杂度为转载 2016-03-29 00:21:27 · 549 阅读 · 0 评论 -
【转】趣写算法系列之--匈牙利算法
本文转自:http://blog.youkuaiyun.com/dark_scope/article/details/8880547 【书本上的算法往往讲得非常复杂,我和我的朋友计划用一些简单通俗的例子来描述算法的流程】 匈牙利算法是由匈牙利数学家Edmonds于1965年提出,因而得名。匈牙利算法是基于Hall定理中充分性证明的思想,它是部图匹配最常见的算法,该算法的核心就是寻找增广路径,它是一转载 2015-06-21 11:02:18 · 541 阅读 · 0 评论 -
CDOJ的使用
先贴网站:CDOJ 咦,对了,最好用火狐或者谷歌浏览器来打开这个网站,反正IE打不开。 oj就是online judge,在线评测网站,就是它上面有题,然后你在本地写好程序后,把代码提交上去(复制粘贴就可以),所以理论上你也可以直接在oj的网页上写代码,但是,那个基本就是一个文本编辑器,所以一般不会这样做。 我个人觉得使用oj有以下几点好处:原创 2015-06-20 21:03:49 · 1570 阅读 · 0 评论 -
详解树状数组三种模型
首先说明下:最后的最大值模型的代码没有测试,不过应该是没问题的。其它三个更新求和的模型的代码借鉴于网上的各个博文,应该是没问题的。其中前两个模型的代码已测试无误。 树状数组与线段树在思想上很类似的一种数据结构,它比线段树更简洁,但它的适用范围也小了些。 提供一篇博文,详解树状数组的:http://www.hawstein.com/posts/binary-indexed-trees.html原创 2015-06-22 22:45:32 · 1791 阅读 · 0 评论