すのはら荘春原庄的雪

快速幂与矩阵快速幂模板

Toretto·2022-04-15 23:02·32 次阅读

快速幂与矩阵快速幂模板

快速幂:

long long fastPower(long long base, long long power) {
    long long result = 1;
    while (power > 0)
    {
        if (power & 1) {
            result = result * base % 1000;
        }
        power >>= 1;
        base = (base * base) % 1000;
    }
    return result;
}

矩阵快速幂

struct node
{
    int m[10][10];
};
int n;
node mul(node a, node b)
{
    node x;
    memset(x.m, 0, sizeof(x.m));
    for (int i = 0; i < n; i++)
        for (int j = 0; j < n; j++)
            for (int k = 0; k < n; k++)
                x.m[i][j] = (x.m[i][j] + a.m[i][k] * b.m[k][j]) % mod;
    return x;
}

node ful(node a,node b, int n)
{
    while (n > 0)
    {
        if (n & 1)
            b = mul(b, a);
        n >>= 1;
        a = mul(a, a);
    }
    return r;
}

 

posted @   cbmango  阅读(32)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
点击右上角即可分享
微信分享提示