小目录

  • 链接
  • 题目描述
  • 思路
  • 代码

链接

YbtOJ 6-1-3

题目描述

加里敦星球的人们特别喜欢喝可乐。因而,他们的敌对星球研发出了一个可乐机器人,并且放在了加里敦星球的 1 号城市上。这个可乐机器人有三种行为:停在原地,去下一个相邻的城市,自爆。它每一秒都会随机触发一种行为。现在给出加里敦星球城市图,在第 0 秒时可乐机器人在 1 号城市,问经过了 t 秒,可乐机器人的行为方案数是多少?

思路

构建邻接矩阵,答案就是这个矩阵的t次方的每一项之和,直接用快速幂加速就好了
自爆就连个0号点,然后留在原地就是每个点连个自环就好了

代码

#include<algorithm>
#include<iostream>
#include<cstring>
#include<cstdio>
#define ll long longusing namespace std;const ll mo = 2017;
ll n, m, t, u, v, Ans;struct matrix
{int n, m;ll a[105][105];
}g, ans;matrix operator *(matrix a, matrix b)
{matrix c;c.n = a.n;c.m = b.m;memset(c.a, 0, sizeof(c.a));for(int k = 0; k <= a.m; ++k)for(int i = 0; i <= c.n; ++i)for(int j = 0; j <= c.m; ++j)c.a[i][j] = (c.a[i][j] + (a.a[i][k] * b.a[k][j]) % mo);return c;
}void ksm(ll t)
{memset(ans.a, 0, sizeof(ans.a));for(int i = 0; i <= ans.n; ++i) ans.a[i][i] = 1;while(t) {if(t & 1) ans = ans * g;g = g * g;t >>= 1;}
}int main()
{scanf("%lld%lld", &n, &m);for(int i = 1; i <= m; ++i){scanf("%lld%lld", &u, &v);    g.a[u][v] = g.a[v][u] = 1;}g.n = g.m = n;ans.n = ans.m = n;for(int i = 0; i <= n; ++i)g.a[i][i] = 1;for(int i = 1; i <= n; ++i)g.a[i][0] = 1;scanf("%lld", &t);ksm(t);for(int i = 0; i <= n; ++i)Ans = (ans.a[1][i] + Ans) % mo;printf("%lld", Ans % mo);return 0;
}

【矩阵乘法】行为方案相关推荐

  1. 十个利用矩阵乘法解决的经典题目

    出自matrix67.com 好像目前还没有这方面题目的总结.这几天连续看到四个问这类题目的人,今天在这里简单写一下.这里我们不介绍其它有关矩阵的知识,只介绍矩阵乘法和相关性质.     不要以为数学 ...

  2. 【bzoj5082】弗拉格 矩阵乘法

    题目描述 给你n个flag,你要把每个染色成红黑白黄四色之一,满足: 1.相邻旗不能同色 2.白不能和黄相邻,红不能和黑相邻 3.不能存在连续三个球依次是"黑白红"或"红 ...

  3. 【poj3734】矩阵乘法求解

    [题意] 给N个方块排成一列.现在要用红.蓝.绿.黄四种颜色的油漆给这些方块染色.求染成红色方块和染成绿色方块的个数同时为偶数的染色方案的个数,输出对10007取余后的答案.(1<=n<= ...

  4. HDU 2865 Birthday Toy [Polya 矩阵乘法]

    传送门 题意: 相邻珠子不能相同,旋转等价.$n$个珠子$k$中颜色,求方案数 首先中间珠子$k$种选择,$k--$ 如果没有相邻不同的限制,就和$POJ\ 2154$一样了 $|C(f)|=k^{\ ...

  5. 【BZOJ4818】【SDOI2017】序列计数 [矩阵乘法][DP]

    序列计数 Time Limit: 30 Sec  Memory Limit: 128 MB [Submit][Status][Discuss] Description Alice想要得到一个长度为n的 ...

  6. CH Round #30 摆花[矩阵乘法]

    摆花 CH Round #30 - 清明欢乐赛 背景及描述 艺术馆门前将摆出许多花,一共有n个位置排成一排,每个位置可以摆花也可以不摆花.有些花如果摆在相邻的位置(隔着一个空的位置不算相邻),就不好看 ...

  7. 【bzoj4870】[Shoi2017]组合数问题 dp+快速幂/矩阵乘法

    题目描述 输入 第一行有四个整数 n, p, k, r,所有整数含义见问题描述. 1 ≤ n ≤ 10^9, 0 ≤ r < k ≤ 50, 2 ≤ p ≤ 2^30 − 1 输出 一行一个整数 ...

  8. BZOJ 3329 Xorequ (数位DP、矩阵乘法)

    BZOJ 3329 Xorequ (数位DP.矩阵乘法) 手动博客搬家: 本文发表于20181105 23:18:54, 原地址https://blog.csdn.net/suncongbo/arti ...

  9. ICML 2021文章引发热议:矩阵乘法无需相乘,速度提升100倍

    ©作者 | Synced 来源 | 机器之心 在一篇被 ICML 2021 接收的论文中,MIT 的一位计算机科学博士生及其业界大佬导师为矩阵乘法引入了一种基于学习的算法,该算法具有一个有趣的特性-- ...

  10. Ybtoj-排列计数【矩阵乘法,分块幂】

    正题 题目链接:http://noip.ybtoj.com.cn/contest/596/problem/1 题目大意 TTT组询问给出nnn求有多少个nnn的排列满足第一个是111并且相邻的差不超过 ...

最新文章

  1. jQuery通过name获取值
  2. python每月定时_如何用Python写一个每分每时每天的定时程序
  3. 计算机word一体化教案,【计算机应用基础】word教案.doc
  4. 个人永久性免费-Excel催化剂功能第119波-一大波虚构数据,支持多国语言版本
  5. JS中实现replaceAll的方法
  6. Lync Server 2010 安装部署系列三:添加DNS记录
  7. win 10 配置docker 阿里云 加速器
  8. layui鼠标放上图片局部放大_老照片修复教程之—裁剪图片大小
  9. delphi 获取打印机默认纸张_如何设置一台打印机打印不同尺寸的纸张
  10. WEB界面测试用例~ 收藏
  11. WIN10显示汉字都有问题?
  12. 移动互联网创新39个热点
  13. mindoc源码编译和部署
  14. OpenBmc开发9:dts简介与使用
  15. 为什么 Flutter 是跨平台开发的终极之选
  16. 小括号与花括号小括号与花括号
  17. 不安装DBC2000安装架设传奇服务端的方法
  18. 线上服务导致cpu飙升问题排查
  19. TypeScript项目的问题-第三方包报类型兼容错误
  20. 讲真,这两款idea插件,能治愈你英语不好的病

热门文章

  1. 【Android楚君】【Python洪君】生成姓名: 根据性别、字数随机生成好听的名字
  2. 解决.Net 4.0 A potentially dangerous Request.Form value was detected from the client 异常
  3. 百度webgis-api-加载卫星影像图
  4. springcache使用详解
  5. ZSC 1526 独眼贝斯基 (KMP + 优化)
  6. MATLAB第四次作业详细内容
  7. 【第三届集创赛】Arm杯一等奖作品分享一:车牌的高速精准识别
  8. bzoj5020[THUWC 2017]在美妙的数学王国中畅游(LCT)
  9. 廖雪峰git入门教程——学习笔记
  10. Java web实习总结