
算法
文章平均质量分 60
未水
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
六之再续:KMP算法之总结篇(12.09修订,必懂KMP)
六之再续:KMP算法之总结篇(必懂KMP)作者:July。出处:http://blog.youkuaiyun.com/v_JULY_v/。引记 此前一天,一位MS的朋友邀我一起去与他讨论快速排序,红黑树,字典树,B树、后缀树,包括KMP算法,唯独在讲解KMP算法的时候,言语磕磕碰碰,我想,原因有二:1、博客内的东西不常回顾,忘了不少;2、便是我对KMP转载 2012-05-12 19:54:01 · 805 阅读 · 0 评论 -
openMP实现的快排
#include #include #include #include #include using namespace std;#define N 10040000int A[N],f[N],LC[N],RC[N],ans[N],cnt;int n;// length of sequenceint th;// number of threadvoid output(int原创 2013-12-09 19:27:39 · 2656 阅读 · 6 评论 -
poj 3101 大整数最小公倍数+欧几里得
#include #include #include #include #include using namespace std;#define ll long long#define N 1000#define M 10000int t[N+5];int c[M+5];int res[M+5];int n;int prime[M],vis[M],cnt;int gcd原创 2013-03-11 05:19:12 · 1408 阅读 · 0 评论 -
poj 1113 凸包模板
#include #include #include #include #include #include using namespace std;#define N 1050#define PI acos(-1.0)int n,r;struct point{ int x,y; point(int _x=0,int _y=0) { x=_x; y=_y; }原创 2013-03-11 16:57:29 · 714 阅读 · 0 评论 -
poj3273+poj3258 二分易错点
1.关于二分的两种写法一种是 while(left{if()left=mid+1;else right=mid;}ans=left;这是我比较喜欢的一种还有一种是while(left{if()left=mid+1;else right=mid-1;}ans=mid;注意两种的ans是不同的2. 假如二分要求的答案是原创 2013-03-12 19:43:13 · 1292 阅读 · 0 评论 -
poj 1905 二分
#include #include #include #include #include #include using namespace std;#define eps 1e-12#define PI acos(-1.0)bool equal(double a,double b){ return fabs(a-b)<eps;}int main (){ doubl原创 2013-03-11 18:32:51 · 688 阅读 · 0 评论 -
hdu4301 状态dp
#include #include #include #include #include #include #include using namespace std;#define N 1050#define mod 100000007int dp[N][N*2][2];int main (){ memset(dp,0,sizeof(dp)); dp[1][原创 2013-03-13 17:35:08 · 712 阅读 · 0 评论 -
poj 3122
精度的原因,开始一直错,我这数学白痴学习了!#include #include #include #include #include #include using namespace std;#define PI acos(-1.0)#define eps 1e-7double a[20500];int main (){ int t;scanf("%d",&t);原创 2013-03-12 20:50:23 · 839 阅读 · 0 评论 -
dijkstra,bellman-ford,floyd分析比较
http://www.cnblogs.com/mengxm-lincf/archive/2012/02/11/2346288.html其实我一直存在疑惑是什么导致dijkstra不能处理负权图?今日偶见某大牛说一句“dijkstra选定一个节点后节点值不在改变”,方才大悟。本质上就是dijkstra选点方式导致的(即贪心),只针对目前的情况作出最好的判断1)在非负权图中这点是没转载 2012-07-11 19:02:45 · 627 阅读 · 0 评论 -
线性时间查找
线性时间选择给定n个元素和一个整数k,要求用O(n)时间找出这n个元素中第k小元素。2.算法描述:Stept1:数据的保存,首先将数据保存到数组e[num]中,并输入k值。Stept2:选择第一个数据作为分界数据,将比它小的数据储存在它的左边,比它大的储存在右边,这样左右子集就是原问题的两个独立子问题,在用同样的方法解决这些子问题,直到每个子集只有一个数据,就完成了全部的排序。转载 2012-05-23 23:39:39 · 1764 阅读 · 0 评论 -
算法的经典书籍
我常感叹到,学计算机的人是幸福的,因为在这个领域中有如此多的通俗易懂(相对来说)的经典好书,你需要做的只是坚持把它们一本一本读下去而已。学力学就没有这样的好事了(抱怨一下),除了论文就是论文,满篇公式,晦涩坚深,真不是给人看的(虽然我也没看过几篇)。在这里列出一些我看过或者准备看的算法书籍,以供参考。1. CLRS 算法导论 算法百科全书,只做了前面十几章的习题,便感觉受益无穷。转载 2012-05-18 13:35:05 · 775 阅读 · 0 评论 -
MPI实现有向图所有点间最短路径
由矩阵相乘的MPI实现改造得到,把矩阵相乘时候的*改为+,+改为min,调用ceil(log(n-1))次。优化:不用每次收集C,把C作为A,再把A分发出去,等价于开始分发A,执行ceil(log(n-1))次后collect_CA,B矩阵是一样的,所以可以节省B、tmp_b的存储空间分发A的时候只要发一次a即可#include #include #include #原创 2013-12-12 19:11:56 · 2687 阅读 · 0 评论