E. Lost in WHU。矩阵快速幂!
来源:互联网 发布:好听的淘宝达人名字 编辑:程序博客网 时间:2024/06/06 13:04
E. Lost in WHU
比赛的时候一直不知道样例怎么来的,然后和队友推了一下,然后还是没什么思路,样例手推很困难,然后我随口枚举了几个算法dp、广搜、快速幂。比赛结束问了谷队长结果真的是用快速幂写。
题意:n个点,m条边,每一步可以从一个点走到与其相连的点上,求如果最多可以走T步,1到n有多少种走法。
思路:裸的矩阵快速幂,初始矩阵在输入的时候连的双向边,表示可走,但要注意从n出发的话只有单向边,题目说明走到n号节点就不能走出去了。n到n也要连一条边。然后求这个矩阵的T次方,结果就是第一行第n列的值。
int n,m,t;struct matrix{ ll a[101][101];};matrix mul(matrix A,matrix B){ matrix res; memset(res.a,0,sizeof(res.a)); for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) for(int k=1;k<=n;k++) res.a[i][j]=(res.a[i][j]+A.a[i][k]*B.a[k][j])%MOD; return res;}matrix mul_pow(matrix A){ matrix res; memset(res.a,0,sizeof(res.a)); for(int i=1;i<=n;i++) res.a[i][i]=1; while(t) { if(t&1) res=mul(res,A); A=mul(A,A); t>>=1; } return res;}void solve(){ int u,v; matrix res; for(int i=0; i<m; i++) { scanf("%d%d",&u,&v); if(u==n) res.a[v][u]=1; else if(v==n) res.a[u][v]=1; else res.a[u][v]=res.a[v][u]=1; } res.a[n][n]=1; scanf("%d",&t); res=mul_pow(res); printf("%lld\n",res.a[1][n]);}int main(){ while(~scanf("%d%d",&n,&m)) { solve(); } return 0;}
0 0
- E. Lost in WHU。矩阵快速幂!
- [WOJ26 Lost in WHU]矩阵快速幂
- 2017 Wuhan University Programming Contest (Online Round) E. Lost in WHU(矩阵快速幂)
- 2017 Wuhan University Programming Contest (Online Round) E. Lost in WHU(矩阵快速幂)
- WOJ 26. Lost in WHU(矩阵快速幂变形)
- WOJ 26 Lost in WHU(矩阵快速幂+邻接矩阵乘法)
- 武大校赛 26. Lost in WHU(矩阵快速幂)
- 【矩阵快速幂】经典题 hdu2157 how many ways、woj642 Lost In WHU
- 2017 Wuhan University Programming Contest (Online Round) ELost in WHU(矩阵快速幂
- 矩阵(matrix)应用大总结(一)WOJ 642 Lost In WHU + POJ 3233
- 26. Lost in WHU--武汉大学网络赛
- 2017 Wuhan University Programming Contest --Lost in WHU
- Codeforces 385E Bear in the Field(矩阵快速幂)
- CodeForces 385 E.Bear in the Field(dp+矩阵快速幂)
- Codeforeces Round #226 (Div. 2) E---Bear in the Field(矩阵快速幂)
- 514E (矩阵快速幂+DP)
- Codeforces 514E 矩阵快速幂
- whu网络赛 E
- java中线程同步Synchronized,监视器monitor和锁lock的关系是什
- NBUT
- 530. Minimum Absolute Difference in BST
- 很多人排队问题
- 导航栏和电池栏一个颜色 + TableView在电池栏下
- E. Lost in WHU。矩阵快速幂!
- Image to Image 几何校正
- Unity3D Shader之路 写Shader前必须要知道的事情 渲染流水线的概括
- java中synchronized块是怎么用的给个例子
- A Simple Problem with Integers
- mysql索引查询
- Spring中的调度器是在spring3.0以上使用的时task注解
- Linux操作指令(3)
- CodeForces 787B Not Afraid