zoukankan      html  css  js  c++  java
  • 洛谷P5159 WD与矩阵

    基本上是打表找规律……

    下面第(m)列第(n)行表示(ans(n, m))

    如果图片挂了请联系U108185

    很明显的等比数列吧……第(n)行的公比为(2^{n-1})

    然后用 小学奥数/高中数学 的公式可以求得(ans(n, m)=2^{(i-1)^{(j-1)}})(是两个次方呐!)

    这就可以求咯~本人写的快速幂(防溢出)

    #include <bits/stdc++.h>
    
    using namespace std;
    
    const long long mod = 998244353LL;
    
    long long qpow(long long a, long long k) {
        long long w = 1;
        while(k) {
            if(k & 1) {
                w *= a;
                w %= mod;
            }
            k >>= 1;
            a *= a;
            a %= mod;
        }
        return w % mod;
    }
    
    int main() {
        long long t, a, b;
        cin >> t;
        while(t--) {
            cin >> a >> b;
            // cout << a << " " << b << " ";
            cout << qpow(qpow(2, a - 1), b - 1) % mod << endl;
        }
        return 0;
    }
    

    三年OI一场空,不开long long见祖宗

  • 相关阅读:
    外观模式
    适配器模式
    桥接模式
    中文词频统计
    英文词频统计
    字符串练习
    Python基础
    熟悉常用的Linux操作
    作业
    递归下降分析法
  • 原文地址:https://www.cnblogs.com/iycc/p/10216977.html
Copyright © 2011-2022 走看看