矩阵乘法-洛谷P2233 [HNOI2002] 公交车路线
来源:互联网 发布:淘宝游戏装备 编辑:程序博客网 时间:2024/04/24 00:00
https://daniu.luogu.org/problem/show?pid=2233
矩阵这个很显然啊;
然后直接快速幂就好了;
至于为什么,这个就是矩阵的基本性质;
可以看我相关的博客;
然后到了E点就不懂,直接在乘法的时候处理一下就好了
#include<iostream>#include<cstdio>#include<cstdlib>#include<algorithm>#include<cstring>#include<map>#define Ll long longusing namespace std;int a[9][9]{//A B C D E F G H{0,0,0,0,0,0,0,0,0},{0,0,1,0,0,0,0,0,1},//A{0,1,0,1,0,0,0,0,0},//B{0,0,1,0,1,0,0,0,0},//C{0,0,0,1,0,1,0,0,0},//D{0,0,0,0,1,0,1,0,0},//E{0,0,0,0,0,1,0,1,0},//F{0,0,0,0,0,0,1,0,1},//G{0,1,0,0,0,0,0,1,0},//H};struct jv{ int m[9][9]; jv(){memset(m,0,sizeof m);}}ans,c;int n,mo=1e3;jv cheng(jv x,jv y){ jv z; for(int i=1;i<=8;i++) for(int j=1;j<=8;j++) for(int k=1;k<=8;k++)if(k!=5) z.m[i][j]=(z.m[i][j]+x.m[i][k]*y.m[k][j])%mo; return z;}int main(){ scanf("%d",&n); n--; for(int i=1;i<=8;i++) for(int j=1;j<=8;j++) c.m[i][j]=a[i][j]; ans=c; while(n){ if(n&1)ans=cheng(ans,c); n>>=1; c=cheng(c,c); } printf("%d",ans.m[1][5]);}
1 0
- 矩阵乘法-洛谷P2233 [HNOI2002] 公交车路线
- 洛谷 P2233 [HNOI2002]公交车路线
- 洛谷 P2233 [HNOI2002]公交车路线
- [HNOI2002] 公交车路线
- 图论矩乘——Luogu2233 [HNOI2002] 公交车路线
- Codevs 1482 路线统计(矩阵乘法)
- 公交车路线查询系统后台数据库设计
- 公交车路线查询系统后台数据库设计—路线查询
- 公交车路线查询系统后台数据库设计--引入步行路线
- 矩阵乘法
- 矩阵乘法
- 矩阵乘法
- 矩阵乘法
- 矩阵乘法
- 矩阵乘法
- 矩阵乘法
- 矩阵乘法
- 矩阵乘法
- Spring整合RabbitMQ简介
- 广告术语
- C#运算符
- 将微信消息中的CreateTime转换成标准格式的时间
- H5项目常见问题及注意事项
- 矩阵乘法-洛谷P2233 [HNOI2002] 公交车路线
- JAVA标识符、关键字、分隔符
- webservices系列(四)——Axis2入门框架
- 三句命令给MacBook安装oh my zsh 走向高逼格shell
- 杭电oj1045——Fire Net
- python第16天:文件操作
- python pyhs2 的安装
- 剑指offer——二进制中1的个数
- Linux文件搜索命令