算法知识
文章平均质量分 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 · 2250 阅读 · 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 · 536 阅读 · 0 评论 -
Disjoint-Set并查集
路径压缩+启发式合并,应该是最快的了吧#include #include #include using namespace std;#define maxn 100int 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 · 346 阅读 · 0 评论 -
对拍程序的写法
对拍是什么呢?对拍就是你给两个程序,和一个随机数据生成器,然后系统去用这个随机数据生成器的输出作为你这两个程序的输入,然后比较你这两个程序的输出,可以找到一组使这两个程序输出不一样的数据(如果存在的话)怎么对拍呢?首先,新建一个文件夹,然后,在里面放入biaoda.exe,和test.exe。biaoda.exe是你暴力写的一个做法或者你从网上找的一份AC代码生成的程序原创 2016-04-26 18:09:28 · 28392 阅读 · 8 评论 -
八数码 八境界
八数码 八境界境界一、 暴力广搜+STL 开始的时候,自然考虑用最直观的广搜,因为状态最多不超过40万,计算机还是可以接受的,由于广搜需要记录状态,并且需要判重,所以可以每次图的状态转换为一个字符串,然后存储在stl中的容器set中,通过set的特殊功能进行判重,由于set的内部实现是红黑树,每次插入或者查找的复杂度为Log(n),所以,如果整个算法遍历了所有状态,所需要的复杂度为转载 2016-03-29 00:21:27 · 513 阅读 · 0 评论 -
【转】趣写算法系列之--匈牙利算法
本文转自:http://blog.csdn.net/dark_scope/article/details/8880547【书本上的算法往往讲得非常复杂,我和我的朋友计划用一些简单通俗的例子来描述算法的流程】匈牙利算法是由匈牙利数学家Edmonds于1965年提出,因而得名。匈牙利算法是基于Hall定理中充分性证明的思想,它是部图匹配最常见的算法,该算法的核心就是寻找增广路径,它是一转载 2015-06-21 11:02:18 · 513 阅读 · 0 评论 -
CDOJ的使用
先贴网站:CDOJ咦,对了,最好用火狐或者谷歌浏览器来打开这个网站,反正IE打不开。 oj就是online judge,在线评测网站,就是它上面有题,然后你在本地写好程序后,把代码提交上去(复制粘贴就可以),所以理论上你也可以直接在oj的网页上写代码,但是,那个基本就是一个文本编辑器,所以一般不会这样做。 我个人觉得使用oj有以下几点好处:原创 2015-06-20 21:03:49 · 1375 阅读 · 0 评论 -
详解树状数组三种模型
首先说明下:最后的最大值模型的代码没有测试,不过应该是没问题的。其它三个更新求和的模型的代码借鉴于网上的各个博文,应该是没问题的。其中前两个模型的代码已测试无误。树状数组与线段树在思想上很类似的一种数据结构,它比线段树更简洁,但它的适用范围也小了些。提供一篇博文,详解树状数组的:http://www.hawstein.com/posts/binary-indexed-trees.html原创 2015-06-22 22:45:32 · 1736 阅读 · 0 评论