Mathematical Practice (快速幂)

在这里插入图片描述
在这里插入图片描述
思路:该题就是从一个大小为 的集合中,有顺序地取 次子集,求这些子集两两没有交集的方案数。
在这里插入图片描述
首先可以发现这个n和m的范围还是蛮大的,直接暴力肯定不行,那么就用快速幂来算我们要的结果。

#include <bits/stdc++.h>
using namespace std;
int  mod = 998244353;
int ans;
int fast_power(long long base,long long power,long long mod){
    
    
    long long result = 1;
    while(power>0){
    
    
        if(power&1){
    
    
            result = result*base%mod;
        }
        power>>=1;
        base = (base*base)%mod;
    }
    return result;
}
int main()
{
    
    
    int n,m;cin>>n>>m;
    ans = fast_power(m+1,n,mod);
    cout<<ans<<endl;
    return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_43811879/article/details/109749586
今日推荐