1.对于isPrime函数:
bool isPrime(int x)
{
if(x<=1)return false;
if(x==2 || x==3)return true;
if(x%6!=1 && x%6!=5)return false;
for(int i=6;i*i<=x;i+=5)if(x%i==0 || x%(i+2)==0)return false;
}
它的时间复杂度是多少?
2.关于P1125[NOIP2008提高组]笨小猴,为什么我的代码总是会WA #2,即使我去下载数据,发现输出竟然一样!吸不吸氧都一样
//P1125
#include<cstdio>
#include<cstring>
#include<iostream>
using namespace std;
string s;
int a[30],mina=100,maxa=-1;
bool isPrime(int x)
{
if(x<=1)return false;
if(x==2 || x==3)return true;
if(x%6!=1 && x%6!=5)return false;
for(int i=6;i*i<=x;i+=5)if(x%i==0 || x%(i+2)==0)return false;
}
int main()
{
cin>>s;
for(int i=0;i<s.size();++i)a[s[i]-'a']++;
for(int i=0;i<26;++i)
{
if(a[i]>0 && mina>a[i])mina=a[i];
if(maxa<a[i])maxa=a[i];
}
if(isPrime(maxa-mina)==true)printf("Lucky Word\n%d",maxa-mina);
else printf("No Answer\n0");
return 0;
}
3.如何求解ba(modp)的值
4.本人还没学习树状数组,有没有值得推荐的学习树状数组的文章?