T1 叉叉计算
easy,man.
把每个区间起点设为1,终点设为-1,每次统计区间和,并在区间右端点处+1
T2 病毒分裂
看起来没多大问题,但超时啦。
请大佬康康。
#include<bits/stdc++.h>
using namespace std;
long long k,n,p;
long long yjy(long long a,long long b){
if (b==0) return 1;
long long m=b/2;
long long s=(((yjy(a,m))%p)*((yjy(a,m))%p))%p;
if (b%2==1)
s=(s*a)%p;
return s;
}
long long sss(long long a,long long b){
if (b==1) return a;
long long m=b/2;
long long t=yjy(a,m);
long long s=((sss(a,m))*t+(sss(a,m)))%p;
if (b%2==1)
s=(s+yjy(a,b))%p;
return s;
}
int main(){
freopen("split.in","r",stdin);
freopen("split.out","w",stdout);
cin>>k>>n>>p;
long long ans=(sss(k,n-2)+1)%p;
cout<<ans;
}
T3 慢跑问题
没做。不过好像懂了。
T4 距离之美
压根没看好吧~
总结
正常发挥~