结论题
你可以画一下图
然后发现第K年
可能性为
2^k*n-2^+1-2^k*n
然后快速幂
但是CF有许多神仙数据
第一你不能读进来取mod
第二枚举边界
#include<bits/stdc++.h>
using namespace std;
const int mod=1e9+7;
typedef int INT;
#define int long long
#define LL long long
int quick_pow(LL val,int k){
LL ret=1;
while(k){
if(k%2==1){
ret=(ret*val%mod+mod)%mod;
}
k=k/2;
val=(val*val%mod+mod)%mod;
}
return ret;
}
LL k,x;
INT main(){
cin>>x>>k;
if(x>mod)
x%=mod;
// cout<<(int)4*1e7;
// cout<<quick_pow(2,k+1)%mod*x<<'\n';
// cout<<x<<'\n';
if(x==0)puts("0");
else
cout<<((quick_pow(2,k+1)*x-quick_pow(2,k)+1)%mod+mod)%mod;
}
扫描二维码关注公众号,回复:
2206673 查看本文章