1.比赛不要用cin,不要用cin,不要用cin,重要的事情说三遍233
2.快速幂用下面的那种,不要用上面的,上面那种会变得好慢(不要问我怎么知道的╭(╯^╰)╮)。这好像是因为每一次ksm(a,k/2)%p都要递归OTZ。
long long ksm(long long a,long long k)
{
a%=p;
if(k==0) return 1;
else if(k==1) return a%p;
else if(k%2==0) return ((ksm(a,k/2)%p)*(ksm(a,k/2)%p))%p;
else if(k%2==1) return (((ksm(a,k/2)%p)*(ksm(a,k/2)%p))%p*a%p)%p;
}
long long ksm(long long a,long long q)
{
if(q==0) return 1;
if(q==1) return a;
if(q%2==1)
{
long long temp=ksm(a,q/2)%k;
return (((temp%k)*(temp%k))%k*(a%k))%k;
}
else
{
long long temp=ksm(a,q/2)%k;
return ((temp%k)*(temp%k))%k;
}
}
3.0x7fffffff是int的极大值,赋极大值的时候要看是int还是long long,不然就会莫名其妙的WA(多么痛的领悟QAQ)
4.原来sort不加using namespace std;会CE