【邻接矩阵乘法】沼泽鳄鱼
Links
洛谷_P2579[ZJOI2005]沼泽鳄鱼
SSL_P2511沼泽鳄鱼
居然有点想接触一下鳄鱼这种生物…
题目
解
由于鳄鱼的活动周期只有2,3,4。
所以很容易得到一个为期12的大周期。
于是我们可以先得出大周期矩阵。先用单位矩阵乘上k/12个。
然后再一个个处理状态,分别乘上。
我们设矩阵 a[i][j] 为 从i点走到j点的方案数。
这样,两个矩阵相乘便可以得到下一个单位时间的矩阵。
我们便可以构建12个状态的矩阵,将鳄鱼会出现的位置填掉。
注意点和时间都是从0开始的,由于矩阵乘法定义方面我用了之前的代码,所以输入的时候便处理了一下。
Code
#include<cstdio>int n, m, end, start, k, t, x, y, nfish, pst[10];
struct asdf{int n, m;int jz[71][71];
} E,a,A[15],K; asdf operator *(asdf aa, asdf bb){ //定义矩阵乘法asdf cc;cc.n = aa.n; cc.m = bb.m;for(int i = 1; i <= cc.n; ++i)for(int j = 1 ;j <= cc.m; ++j)cc.jz[i][j] = 0;for(int l = 1; l <= aa.m; ++l)for(int i = 1; i <= cc.n; ++i)for(int j = 1; j <= cc.m; ++j)cc.jz[i][j] = (cc.jz[i][j] + aa.jz[i][l] * bb.jz[l][j] % 10000)% 10000;return cc;
}asdf ksm(int now){ //构建出来的矩阵的快速幂asdf ll = E;now--;while(now>0){if(now & 1) ll = ll * E;E = E * E;now >>= 1;}return ll;
} int main(){scanf("%d%d%d%d%d", &n, &m, &start, &end, &k);++start; ++end; a.n = a.m = n; E.n = E.m = n;for(int i = 1; i <= m; ++i){scanf("%d%d", &x, &y);++x; ++y; //因为点从0开始a.jz[x][y] = a.jz[y][x] = 1; //这条路可以走}scanf("%d", &nfish);for(int i = 1; i <= 12; ++i){A[i] = a; //初始值A[i].n = A[i].m = n;} for(int i = 1; i <= n; ++i){ //单位矩阵for(int j = 1; j <= n; ++j)E.jz[i][j] = 0;E.jz[i][i] = 1;}for(int i = 1; i <= nfish; ++i){scanf("%d",&t);for(int i = 0; i < t; ++i){scanf("%d", &pst[i]); //位置,position(雾 ++pst[i];}for(int j = 1; j <= 12; ++j) //第j周期for(int l = 1; l <= n; ++l) //所有点都不能到鳄鱼出现的点A[j].jz[l][pst[j%t]] = 0; }if(k >= 12){ //计算答案for(int i = 1; i <= 12; ++i) E = E * A[i]; //乘大周期K = ksm(k/12);}else K = E;for(int i = 1; i <= k % 12; ++i) //周期内。K = K * A[i];printf("%d",K.jz[start][end]); //输出
}
【邻接矩阵乘法】沼泽鳄鱼相关推荐
- 异配图神经网络——Graph Transformer Networks
一.论文概述 作者提出了Graph Transformer Network (GTN)用来在异配图(heterogeneous graph)上学习节点表示.通过Graph Transformer层,模 ...
- 【论文分享】Learning Graphs for Knowledge Transfer with Limited Labels
[CVPR2021]有限标签知识转移的学习图 以下是全文翻译,如有问题,请批评指正. 摘要 固定输入图是利用图卷积网络 (GCN) 进行知识转移的方法的支柱.标准范式是利用输入图中的关系,使用 GCN ...
- 沼泽鳄鱼_SSL2511_矩阵乘法
沼泽鳄鱼 [题目描述] 潘塔纳尔沼泽地号称世界上最大的一块湿地,它地位于巴西中部马托格罗索州的南部地区.每当雨季来临,这里碧波荡漾.生机盎然,引来不少游客. 为了让游玩更有情趣,人们在池塘的中央建设了 ...
- 矩阵乘法 x 图的邻接矩阵
邻接矩阵是一种用矩阵形式表示图的方法 那么如果用图的邻接矩阵作矩阵乘法 会有什么神奇的性质呢 我们假设一个N个结点的无向图 我们用G[u][v]=G[v][u]=1G[u][v]=G[v][u]=1G ...
- BZOJ 1898: [Zjoi2005]Swamp 沼泽鳄鱼 [矩阵乘法]
1898: [Zjoi2005]Swamp 沼泽鳄鱼 Time Limit: 5 Sec Memory Limit: 64 MB Submit: 1082 Solved: 602 [Submit] ...
- P2579,jzoj2288-[ZJOI2005]沼泽鳄鱼【矩阵乘法】
正题 题目链接:https://www.luogu.org/problemnew/show/P2579 题目大意 一张无向图,一个起点一个终点. 有食人鱼,在若干个点之间有周期的移动,周期为222或3 ...
- 【矩阵乘法】沼泽鳄鱼(ssl 2511)
沼泽鳄鱼 ssl 2511 题目大意 给你一个无向图,有一些鳄鱼有周期性地在这个图中走(鳄鱼不用沿着边走,周期为2或3或4),问你从初始点走到最终点走k个单位时间,不在点和边上停下,不在同一时间和鳄鱼 ...
- 【矩阵乘法】沼泽鳄鱼
小目录 链接 题目描述 样例输入 样例输出 思路 代码 链接 SSL 2511 题目描述 一个池塘,一些鳄鱼,鳄鱼有周期(2≤周期≤42\leq周期\leq42≤周期≤4)的运动路线,你要从某个点恰好 ...
- 十个利用矩阵乘法解决的经典题目
出自matrix67.com 好像目前还没有这方面题目的总结.这几天连续看到四个问这类题目的人,今天在这里简单写一下.这里我们不介绍其它有关矩阵的知识,只介绍矩阵乘法和相关性质. 不要以为数学 ...
最新文章
- 问题 1: 区间交集
- 手把手教你java快速过滤关键词
- stm32l0的停止模式怎么唤醒_手把手教你怎么利用旧电脑搭建NAS组建自己的黑群晖...
- 图片圆角边框自适应宽高(深夜原创)
- 微信公众号的文章中添加历史文章链接
- noip2012借教室
- flume1.6 + syslogtcp + kafka 日志采集(二)
- ABAP术语-Business Components
- 声音存储空间计算公式_音频文件存储容量计算
- 加拿大移民-雇主担保移民政策解读
- qq音乐服务器的位置,QQ音乐的歌曲真实地址解析
- 谷歌浏览器设置默认搜索引擎
- 最近打算更新一篇图片上传的文档!(一直更新得比较缓慢)
- 视图的作用是什么?有哪些好处?(面试题)
- 激活神器!KMSpico v10.2.0 正式版本
- 江南style印证法国大预言家诺查丹玛斯世界末日预言?
- (知乎)你是如何变的自律的
- matlab simulink波特图,用simulink画波特图
- Go 中的循环依赖检测工具 —— go-cyclic
- html相关游戏逆ryona,横板游戏ryona | 手游网游页游攻略大全
热门文章
- review代码从哪些角度_转载:CodeReview正确的姿势是什么?
- 广度优先搜索算法的典型应用——消灭小星星游戏的核心代码实现与解析
- 网上的打印店能打印图书吗?
- 使用minikube快速部署k8s集群
- 【SDUT第11周周赛Problem A】SDUT2576——Queen Collisions
- ubantu下QT连接数据库mysql
- 应聘Java笔试时可能出现问题库及其答案(最全版)
- Qt启动进程ping网址
- DDSM+RetinaNet数据处理进展
- ShaderJoy —— 用 Shader 绘制一只可爱的 “小挠斧” (详细版)【GLSL】