上一页 1 ··· 16 17 18 19 20 21 22 23 24 ··· 30 下一页
  2012年8月24日
摘要: 题目大意:给你一系列的字符串,让你从中找寻最大子序列,反向相同也可以。思路:暴力枚举长度最小的字符串的所有情况,这里相当于剪枝。然后根据strstr(char *sz1, char *sz2)判断是否存在于其子串中。CODE:#include<stdio.h>#include<stdlib.h>#include<string.h>#include<algorithm>usingnamespacestd;constintSIZE=101;structnode{charstr[SIZE];intlen;}a[SIZE];charsave[SIZE], 阅读全文
posted @ 2012-08-24 21:59 有间博客 阅读(350) 评论(0) 推荐(0) 编辑
摘要: 欧拉函数筛选法练习。CODE:#include<stdio.h>#include<stdlib.h>#include<string.h>usingnamespacestd;constintSIZE=3000001;__int64phi[SIZE];voidinit(){inti,j;memset(phi,0,sizeof(phi));phi[1]=1;for(i=2;i<SIZE;i++)if(!phi[i]){for(j=i;j<SIZE;j+=i){if(!phi[j])phi[j]=j;phi[j]=phi[j]/i*(i-1);}}ret 阅读全文
posted @ 2012-08-24 19:36 有间博客 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 欧拉函数的应用,以后看到互质的数第一个就要想到欧拉函数。今天又学到了好多家伙。欧拉定理:欧拉定理表明,若n,a为正整数,且n,a互质,(a,n) = 1,则a^φ(n) ≡ 1 (mod n)费马小定理:且(a,p)=1,那么 a^(p-1) ≡1(mod p) 假如p是质数,且a,p互质,那么 a的(p-1)次方除以p的余数恒等于1。筛选法求欧拉函数,时间复杂度O(nloglogn), CODE:#include<stdio.h>#include<stdlib.h>#include<string.h>#include<math.h>usingn 阅读全文
posted @ 2012-08-24 17:26 有间博客 阅读(460) 评论(0) 推荐(0) 编辑
摘要: 简单模拟。CODE:#include<stdio.h>#include<stdlib.h>#include<string.h>usingnamespacestd;constintSIZE=101;intsave[SIZE];intmain(){inta,div;while(~scanf("%d%d",&a,&div),a,div){inti,first=1;memset(save,0,sizeof(save));intcnt=0;for(i=0;i<=99;i++){if((a*100+i)%div==0){save 阅读全文
posted @ 2012-08-24 17:08 有间博客 阅读(146) 评论(0) 推荐(0) 编辑
  2012年8月23日
摘要: 1、一开始读题,65|f(x)是什么意思都不清楚,最后百度才知道是f(x)能被65整除。2、而且写这题完全没有思路,数论不好,我是根据网上的思路写的。思路:则f(x+1 ) = f (x) + 5*( (13 1 ) x^12 ...... .....+(13 13) x^0 )+ 13*( (5 1 )x^4+...........+ ( 5 5 )x^0 )+k*a;很容易证明,除了5*(13 13) x^0 、13*( 5 5 )x^0 和k*a三项以外,其余各项都能被65整除.那么也只要求出18+k*a能被65整除就可以了.而f(1)也正好等于18+k*a:题目的关键是函数式f(x)= 阅读全文
posted @ 2012-08-23 19:40 有间博客 阅读(1877) 评论(0) 推荐(0) 编辑
摘要: 简单模拟。CODE:#include<stdio.h>#include<stdlib.h>#include<string.h>usingnamespacestd;intget(doubleaim){inti;doubles=0;for(i=1;;i++){if(s>=aim){returni;break;}s+=1.0/(i+1.0);}}intmain(){doubleaim;while(~scanf("%lf",&aim)){if(aim==0.00)break;printf("%dcard(s)\n" 阅读全文
posted @ 2012-08-23 15:14 有间博客 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 简单搜索题。思路:先将地图预处理。如果遇到没有摆放棋子的地方则进行搜索,如果这个区域内黑色棋子的数目或者白色棋子的数目为0的话,则可以将这片区域的面积加到白色棋子或者黑色棋子控制区域的总数。最后判断黑色棋子控制的范围与白色棋子控制的范围谁更大。CODE:#include<stdio.h>#include<stdlib.h>#include<string.h>usingnamespacestd;constintSIZE=21;constintmove[4][2]={{1,0},{-1,0},{0,-1},{0,1}};charmaze[SIZE][SIZE]; 阅读全文
posted @ 2012-08-23 11:46 有间博客 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 简单模拟题。思路:由于数据量太大,直接用字符串去模拟是不行的。可以直接通过字母出现的次数通过迭代计算第N次字母出现的次数。注意:Please output a blank line after each test case. 在每一个样例后面换行符。CODE:#include<stdio.h>#include<stdlib.h>#include<string.h>usingnamespacestd;constintSIZE=101;__int64hash[51][26];charsz1[SIZE],sz2[SIZE];voidinit(char*sz1,ch 阅读全文
posted @ 2012-08-23 11:16 有间博客 阅读(312) 评论(0) 推荐(0) 编辑
  2012年8月22日
摘要: 仔细观察可以看为:3/3*5/5+2/3*3/5+1/3*1/5+0/3*1/5+0.01 又题目的最后一组测试数据是: 10 10 123451617182930 这可以得出什么结论呢? (1)首先看3,3是怎么来的?看测试数据中最大的测试数据为30,而它的w值为10,所以3是由最大的测试数据与w相除得到的,即3 = 30/10;然后3/3, 2/3, 1/3, 0/3逐级递减。 (2)观察可得5/5,3/5,1/5,1/5。我们来看,5怎么得到的呢?在直方图中出现最多的那个数就是5.而5,3,1,1则是各自在直方图中出现的频率。 由此可得结果,最后保留6位小数。COD... 阅读全文
posted @ 2012-08-22 21:15 有间博客 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 简单概率题。题目大意:Amjad去买菜,在他的前面有n人,Indomie有s份,他需要买到名为Indomie的菜,问这种可能的概率是多少? 思路:假设共有i人不买Indomie,则不买Indomie的方案有C(n,i)*2^n-i; //其他的人去买Rice或者Sugar. 以购买Indomie的份数分类,则所有的方案是 S1 = A0+A1+A2+A3+A4……As; 而还有剩余的Indomie的方案是S2 = A0+A1+A2+A3+A4…….As-1; 所以,概率就是S1/S2%。注意要考虑s>n与s == 0的情况。CODE:#include<stdio.h>#inc 阅读全文
posted @ 2012-08-22 21:07 有间博客 阅读(190) 评论(0) 推荐(0) 编辑
上一页 1 ··· 16 17 18 19 20 21 22 23 24 ··· 30 下一页