hdu2157

开发者福利!热门AI工具限时免费用 购周边即赠Coding Plan Lite,Claude Code、Cursor等20+工具畅享,效率翻倍! 阅读详情
裸的矩阵。
#include <iostream>
#include <algorithm>
#include <cstring>
#include <cstdio>
#include <cmath>
using namespace std;
#define mod 1000
int n,m;
struct matrix
{
    int a[21][21];
};
matrix operator * (matrix x,matrix y)
{
    matrix c;
    memset(c.a,0,sizeof(c.a));
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<n;j++)
        {
            for(int k=0;k<n;k++)
            {
                c.a[i][j]+=x.a[i][k]*y.a[k][j];
                c.a[i][j]=c.a[i][j]%mod;
            }
        }
    }
    return c;
}
matrix solve (matrix A,int k)
{
    matrix res;
    memset(res.a,0,sizeof(res.a));
    for(int i=0;i<n;i++)
    {
        res.a[i][i]=1;
    }
    while(k)
    {
        if(k&1)
            res=res*A;
        k=k>>1;
        A=A*A;
    }
    return res;
}
int main()
{
    int x,y,z,q;
    while(scanf("%d%d",&n,&m)&&(n+m))
    {
        matrix org;
        memset(org.a,0,sizeof(org.a));
        for(int i=1;i<=m;i++)
        {
            scanf("%d%d",&x,&y);
            org.a[x][y]=1;
        }
        scanf("%d",&q);
        while(q--)
        {
            scanf("%d%d%d",&x,&y,&z);
            matrix res = solve(org,z);
            printf("%d\n",res.a[x][y]);
        }
    }
    return 0;
}

智能座舱-语音交互系统 从什么是智能座舱、智能座舱的发展驱动因素、智能座舱的构成要素三个方面梳理我对智能座舱的基础认识之后,为了加深“智能座舱产品入门”课程中语音交互部分知识的理解,我从什么是语音交互、语音交互的底层技术、智能座舱的语音交互等方面,对智能座舱语音交互系统相关的知识进行了梳理与总结。 阅读详情

相关推荐

YOLO + SubspaceAD:一张良品图,检出所有未知缺陷

当YOLO遇上子空间建模,工业质检正迎来从“见多识广”到“举一反三”的质变时刻。

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 445

HDU 2157 矩阵快速幂

在打牛客的时候碰到一道类似的题,我以为是图论题,结果看了题解,居然是一道矩阵快速幂的经典题。 哪个地方会直接用到矩阵快速幂,对,就是图论中求对应两个点长度为n的路径数,这是矩阵乘法在图论中的经典应用,其实就是用到了矩阵乘法的特殊性,因为矩阵乘法有三重循环,最里面的一层循环就是在枚举一个点k,i -&gt; k -&gt; j,那么从i -&gt; j的路径数长度为m的条数就等于i-&gt; k路...

qq_42211531的博客 250

从后端角度浅谈抗辐射设计----三模冗余(TMR)

三模冗余设计(TMR),是最常用的一种容错技术,三个模块采取相同的操作,以多数相同的输出作为表决系统的正确输出,即3取2,因为三个模块是相互独立的,而其中两个模块同时出错的概率是极小的,因此便可保证系统输出的可信度。然而这个设计也会存在面积浪费,功耗的增加,而且由于是冗余的设计,在后续进行综合或者pr的时候会被工具优化,因此需要对模块进行don’t touch设置;通过增值表得到,逻辑关系表达式为:Q=(Q1&Q2)|(Q1&Q3)|(Q2&Q3),通过工艺库的stdcell进行搭建,得到如下电路。

芯冰乐 294

hdu 2157 (矩阵快速幂)

题目:http://acm.hdu.edu.cn/showproblem.php?pid=2157 通过将矩阵连乘的过程模拟出来,模拟一遍就懂了。 #include using namespace std; typedef long long int ll; const ll mod = 1000; const int maxn=22; //自己看情况定义 //定义矩阵乘法 struct

智浩的博客 729

hdu-2157-How many ways?? (矩阵)(dp优化加速)

题目链接: 题意:HDU2157How many ways?? 有一个有向图,有N个点,M条边,点的编号从0~N-1,然后有T组询问,每组询问是(A,B,k),问你从A点出发到B点恰好走k步的方案数。结果对1000取余。 (NN,k 思路: •有时候dp的递推式子也可以表示成常系数线性递推数列的形式,这时候就可以用矩阵快速幂进行优化了。 一开始用dp的思路来思考,设dp

qq_36782366的博客 422

HDU2157(矩阵的一种 经典问题)

 给定一个有向图,问从A点恰好走k步(允许重复经过边)到达B点的方案数mod p的值         把给定的图转为邻接矩阵,即A(i,j)=1当且仅当存在一条边i-&gt;j。令C=A*A,那么C(i,j)=ΣA(i,k)*A(k,j),实际上就等于从点i到点j恰好经过2条边的路径数(枚举k为中转点)。类似地,C*A的第i行第j列就表示从i到j经过3条边的路径数。同理,如果要求经过k步的路径数,...

sgh666666的博客 582

HDU2157 - How many ways??(矩阵快速幂)(从i到j经过k个点有多少种走法)

#include #include #include using namespace std; #define MAX 20 #define CLR(a,b) memset(a,b,sizeof(a)) #define MOD 1000 struct Matrix { __int64 m[MAX+4][MAX+4]; int w,h; }ori,pr,res; void init(int

wyg1997 698

矩阵快速幂 HDU 2157 HDU 5015 POJ 3233

HDU 2157:#include &lt;bits/stdc++.h&gt; using namespace std; const int MOD = 1000; const int MAXN = 108; int n, m; struct Matrix { int m[MAXN][MAXN]; friend Matrix operator * (Matrix &amp;a,...

Sothan 516

hdu 2157 How many ways?? 矩阵快速幂

hdu 2157 How many ways?? 矩阵快速幂 题目链接:hdu 2157 How many ways??  分析:令M[i][j] = 1 表示从i到j 连通,即i, j经过一个点到达的方案数为1。 那么∑(M[i][k] + M[k][j]), k∈(0, N-1), 就表示i, j经过两个点到达的方案数。即将矩阵M^n就可以求出i, j经过N个点到达的方案数。 #incl

Fighting! 790

HDU 2157 How many ways?? 【矩阵快速幂水题,离散数学结论】

HDU 2157 How many ways?? 离散数学中证明过这样一个结论: 书上写了一大堆,说人话 就是从u点到v点恰好经过k步的方案数,为邻接矩阵的k次幂得到的矩阵(假设是ans)中的元素ans[u][v]。 出题人比较友好,幂次比较小(k<20),不用矩阵快速幂也能过,但还是写一下矩阵快速幂的代码: #include <bits/stdc++.h> using namespace std; const int N=22,mod=1000; int n,m,x,y,k,q; st

nefu_ljw的博客 1351

hdu 2157 How many ways??

题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2157 矩阵乘法。 注意当k=0时 a 与 b 相等不相等的两种情况。 数据好像有重边,重边只算一次就好。 code: View Code 1 # include<stdio.h> 2 # include<string.h> 3 # include...

weixin_34192732的博客 83

HDU 2157 How many ways??(简单线性DP | | 矩阵快速幂)

HDU 2157 How many ways??(简单线性DP | | 矩阵快速幂)

Dacc123的博客 1180

hdu 2157 How many ways??(矩阵经典应用)

题目链接:hdu 2157 How many ways?? 题意: 给你一个邻接矩阵,问你从a到b点,可走重复路径,恰好经过k个节点的路径数。 题解: 其实就是一个裸的矩阵快速幂,每走一次,相当于一次乘法。 1 #include<bits/stdc++.h> 2 #define mst(a,b) memset(a,b,sizeof(a)) 3 #define...

weixin_30824277的博客 207

HDU 2157 矩阵快速幂

HDU 2157 题意分析:让你求两点间走k步可达方案数。 题解:这题算是矩阵思想实际应用的典型了吧, 原始矩阵是一步可达, k阶幂刚好就是k步可达, 因为矩阵乘法本身sum(a[i][k] * b[k][j])(i->j多走一步的可达方案数), 还原这个模型。 code: /* adrui's submission Language : C++ Resu

退役ACMer 584

hdu 2157 矩阵 (没想到也可以这个用矩阵 做)

  http://acm.hdu.edu.cn/showproblem.php?pid=2157 题意:求从点s 走k步 到点 t 的方法种数 #include<iostream> #include<string.h> using namespace std; struct node{int p[22][22];}; node a,b; ...

weixin_30708329的博客 117

HDOJ/HDU 2157

题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=2157How many ways??Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Jav

bingshen的专栏 1662

hdu2157 快速幂

How many ways?? Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 822    Accepted Submission(s): 254 Problem Description 春天到了, HDU校园里

skyline 2061

hdu 2157

/* 此题目乍一看是个图论求路径数目的问题, 但不好求解,可以考虑a[i][j]=a[i][k]*a[k][j] i到j经过一个点是否有一条路,取决于i到k是否有一条路* k到j是否有一条路,不断累乘,可以求出i到j经过m个点的方案数 */ #include #include #include #include #include #define LL long long #

wwwlps的博客 267

HDU 2157

呃,离散数学课上直接就有这样的题 #include <iostream> #include <algorithm> #include <cstdio> using namespace std; const int Mod=1000; struct Matrax { int m[25][25]; }; Matrax a,per; ...

weixin_30289831的博客 118

hdu2157之矩阵快速幂

矩阵快速幂

Stephen 2767

HDU 2157 How many ways??

题目地址:点击打开链接 思路:矩阵快速幂+有向可达图,有向可达图还不太明白,有时间看看 AC代码: #include #include using namespace std; int per[21][21],s[21][21],middle[21][21],n; void matrix_mul(int a[21][21],int b[21][21])//数组就是在原地址上进行操作

Java识堂,一个有干货的微信公众号 436
上一篇: poj3613Cow Relays 矩阵快速幂
下一篇: bzoj1024: [SCOI2009]生日快乐 DFS
Jiahe Xu
博客等级 码龄12年 39粉丝 307原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值