
结论题
你可以画一下图
然后发现第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;
}

本文介绍了一种使用快速幂算法解决特定可能性计算问题的方法。通过分析问题背景,给出了具体的数学表达式,并提供了C++代码实现。该算法适用于计算形式为2^k*n-2^(k+1)-2^k*n的可能性值,尤其是在面对复杂数据结构和边界条件时表现出高效性和准确性。
548

被折叠的 条评论
为什么被折叠?



