06 2013 档案

扩展kmp
摘要:刘雅琼写的论文讲得挺好的,你们先学习下,然后再来看代码就比较简单了!!#include#includeint next[1000],extend[1000];char S[1000],T[1000];void get_next(){ int a,p,k,j,len; int L; len=strlen(T); next[0]=len; a=0; while(a=p) { j=p-k+1>0?p-k+1:0; while(j+ktlen?tlen:slen; a=0; while(a=p) ... 阅读全文

posted @ 2013-06-30 11:19 后端bug开发工程师 阅读(373) 评论(0) 推荐(0)

hdu 4515(关于时间的穿越)
摘要:题意:容易理解.分析:对于这种类型的题目我们以后可以把它当做一种模板题来做,首先我要处理的就是把时间变到从一年的最后一天开始穿越,分为两种情况:一种是往前穿越,另一种是往后穿越,当写代码的时候有些区别需要注意的,具体看代码实现吧!!代码实现:#include<stdio.h>#include<string.h>int y=2013,a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};int runnian(int n)//判断是否是闰年{ if((n%4==0&&n%100!=0)||n%400==0) retur 阅读全文

posted @ 2013-06-05 12:07 后端bug开发工程师 阅读(260) 评论(0) 推荐(0)

后缀数组
摘要:后缀数组:从今天起开始新一轮的学习--《后缀数组》。第一步:学习后缀树的建立,好的资料:http://hi.baidu.com/zealot886/item/5d35b442d059701a886d1072。看了大概两个小时,基本的意思看懂了,这是采用了压缩的原理很好的建立了一棵后缀树,知道了它的用途:1、查找一个字符串T是否在字符串S中出现过,如果出现过的话必然是某个后缀的前缀;2、查找一个字符串T在字符串S中出现的次数如果T在S中出现了两次,则S应有两个后缀以T为前缀,重复次数统计出来就行了;3、字符串S中最长重复子串(两次或两次以上),找到最深的非叶节点,为什么要非叶节点呢?因为既然是要 阅读全文

posted @ 2013-06-04 20:48 后端bug开发工程师 阅读(422) 评论(0) 推荐(0)

hdu 4279(规律题)
摘要:题意:容易理解.分析:做了这道题,我的收获就是碰到一些数学题可以找规律,这种题用常规方法是无法解决的,所以只能找规律。代码实现:#include<stdio.h>#include<string.h>#include<stdlib.h>#include<math.h>int main(){ int T; __int64 m,n; __int64 sum1,sum2; scanf( "%d", &T ); while( T -- ) { scanf( "%I64d%I64d", &m, & 阅读全文

posted @ 2013-06-03 21:08 后端bug开发工程师 阅读(434) 评论(0) 推荐(0)

hdu 4135(容斥原理)
摘要:题意:就是让你求(a,b)区间于n互质的数的个数.分析:我们可以先转化下:用(1,b)区间与n互质的数的个数减去(1,a-1)区间与n互质的数的个数,那么现在就转化成求(1,m)区间于n互质的数的个数,如果要求的是(1,n)区间与n互质的数的个数的话,我们直接求出n的欧拉函数值即可,可是这里是行不通的!我们不妨换一种思路:就是求出(1,m)区间与n不互质的数的个数,假设为num,那么我们的答案就是:m-num!现在的关键就是:怎样用一种最快的方法求出(1,m)区间与n不互质的数的个数?方法实现:我们先求出n的质因子(因为任何一个数都可以分解成若干个质数相乘的),如何尽快地求出n的质因子呢?我们 阅读全文

posted @ 2013-06-03 15:08 后端bug开发工程师 阅读(6106) 评论(0) 推荐(3)

求一个数的质因子
摘要:代码实现:#include<stdio.h>int main(){ __int64 a[100],num,i,n; while(scanf("%I64d",&n)!=EOF) { num=0; for(i=2;i*i<=n;i++) { if(n%i==0) { a[num++]=i; while(n%i==0) n=n/i; } } if(n>1) a[num++]=n; ... 阅读全文

posted @ 2013-06-03 14:44 后端bug开发工程师 阅读(5462) 评论(1) 推荐(0)

求多个数的质因子
摘要:我学到了一种新的素数筛选法,不过相对于以前那种素数筛选法还是慢了点,不过用来求一个数的质因子的话还是比较好的!!代码实现:#include<iostream>#include<vector>#include<algorithm>#include<string.h>using namespace std;int visited[100010];vector<int>a[100010];void init(){ int i,j; for(i=0;i<100010;i++) a[i].clear();//vector的清空 memse 阅读全文

posted @ 2013-06-01 13:16 后端bug开发工程师 阅读(1675) 评论(2) 推荐(0)

导航