题意:可乐机器人有三种行为: 停在原地,去下一个相邻的城市,自爆。它每一秒都会随机触发一种行为。现在给加里敦星球城市图,在第 0秒时可乐机器人在 1号城市,问经过了 t秒,可乐机器人的行为方案数是多少?(洛谷5789)

输入格式:第一行输入两个正整数 N,M, N表示城市个数,M表示道路个数。接下来 M 行输入 u,v,表示 u,v之间有一条双向道路。最后输入时间 t。

输出格式:输出可乐机器人的行为方案数,答案可能很大,请输出对 2017取模后的结果。

分析:设现在有一个邻接矩阵A那么Ak的意义是什么?(两个点之间若有边则A[u][v]=1)

从floyd算法的角度考虑,不难发现Ak的第i行第j列的数字含义是从i到j经过k步的路径方案总数。

在原地停留很简单,我们只要认为每个点都有一个从自己到自己的自环即可。那自爆呢?我们可以将自爆这个状态也看成一个城市,就设它为编号0。我们在邻接矩阵上从每个点都向这个点连一条边,这个点除了自己外不连其他出边。这样就满足了任何一个点随时可以自爆,且无法恢复到其他状态。最后统计答案ans=$\sum_{i=0}^{n}$A[1][i]

#include<cstdio>
#include<cstring>
#define min(a,b) (a)<(b) ? (a):(b) int n,t,s,e,tot,u,v,w;
int num[1005]; struct Node{
int dis[205][205];
Node operator *(const Node &x)const{
Node ans;
memset(ans.dis,0x3f,sizeof(ans.dis));
for(int i = 1; i <= tot; ++i)
for(int t = 1; t <= tot; ++t)
for(int k = 1; k <= tot; ++k)
ans.dis[i][t] = min(ans.dis[i][t],dis[i][k]+x.dis[k][t]);
return ans;
}
}a,b; void quick_pow(int n){
b = a;
while(n){
if(n&1) b = a*b;
a = a*a; n >>= 1;
}
} int main(){
scanf("%d%d%d%d",&n,&t,&s,&e);
memset(a.dis,0x3f,sizeof(a.dis));
for(int i = 1; i <= t; ++i){
scanf("%d%d%d",&w,&u,&v);
if(!num[u]) num[u] = ++tot;
if(!num[v]) num[v] = ++tot;
a.dis[num[u]][num[v]] = a.dis[num[v]][num[u]] = w;
}
quick_pow(n-1);
printf("%d",b.dis[num[s]][num[e]]);
return 0;
}

洛谷5789 [TJOI2017]可乐(矩阵快速幂,Floyd思想)的更多相关文章

  1. 洛谷P3758/BZOJ4887 [TJOI2017] 可乐 [矩阵快速幂]

    洛谷传送门,BZOJ传送门 可乐 Time Limit: 10 Sec  Memory Limit: 64 MBSubmit: 299  Solved: 207 Description 加里敦星球的人 ...

  2. 【洛谷 p3390】模板-矩阵快速幂(数论)

    题目:给定n*n的矩阵A,求A^k. 解法:利用矩阵乘法的定义和快速幂解答.注意用负数,但是数据太弱没有卡到我......(P.S.不要在 typedef long long  LL; 前使用 LL. ...

  3. BZOJ4887: [Tjoi2017]可乐 矩阵快速幂

    Description 加里敦星球的人们特别喜欢喝可乐.因而,他们的敌对星球研发出了一个可乐机器人,并且 放在了加里敦星球的1号城市上.这个可乐机器人有三种行为:停在原地,去下一个相邻的 城市,自爆. ...

  4. 洛谷 P1226 【模板】快速幂||取余运算

    题目链接 https://www.luogu.org/problemnew/show/P1226 题目描述 输入b,p,k的值,求b^p mod k的值.其中b,p,k*k为长整型数. 输入输出格式 ...

  5. 洛谷P3758 - [TJOI2017]可乐

    Portal Description 给出一张\(n(n\leq30)\)个点\(m(m\leq100)\)条边的无向图.初始时有一个可乐机器人在点\(1\),这个机器人每秒会做出以下三种行为之一:原 ...

  6. poj 3613 Cow Relays【矩阵快速幂+Floyd】

    !:自环也算一条路径 矩阵快速幂,把矩阵乘法的部分替换成Floyd(只用一个点扩张),这样每"乘"一次,就是经过增加一条边的最短路,用矩阵快速幂优化,然后因为边数是100级别的,所 ...

  7. 洛谷P1226 【模板】快速幂||取余运算

    题目描述 输入b,p,k的值,求b^p mod k的值.其中b,p,k*k为长整型数. 输入输出格式 输入格式: 三个整数b,p,k. 输出格式: 输出“b^p mod k=s” s为运算结果 S1: ...

  8. 洛谷P1313 计算系数【快速幂+dp】

    P1313 计算系数 题目描述 给定一个多项式(by+ax)^k,请求出多项式展开后x^n*y^m 项的系数. 输入输出格式 输入格式: 输入文件名为factor.in. 共一行,包含5 个整数,分别 ...

  9. 洛谷——P1226 取余运算||快速幂

    P1226 取余运算||快速幂 题目描述 输入b,p,k的值,求b^p mod k的值.其中b,p,k*k为长整型数. 输入输出格式 输入格式: 三个整数b,p,k. 输出格式: 输出“b^p mod ...

  10. 洛谷 P1226 取余运算||快速幂

    P1226 取余运算||快速幂 题目描述 输入b,p,k的值,求b^p mod k的值.其中b,p,k*k为长整型数. 输入输出格式 输入格式: 三个整数b,p,k. 输出格式: 输出“b^p mod ...

随机推荐

  1. 从零玩转系列之微信支付实战PC端支付微信取消接口搭建 | 技术创作特训营第一期

    一.前言 从零玩转系列之微信支付实战PC端支付微信取消接口搭建 | 技术创作特训营第一期 halo各位大佬很久没更新了最近在搞微信支付,因商户号审核了我半个月和小程序认证也找了资料并且将商户号和小程序 ...

  2. Excel中的RIGHT函数

    问题:从数据库中导出35800个用户code(属于179家单位,每个单位200个用户),用户code共16位,前14位带有用户属性(如:角色.单位.部门等),后四位为每个单位用户的递增自然数.想要对全 ...

  3. Ubuntu虚拟机安装以及在Ubuntu上安装pycharm

    一.在VMware上安装Ubuntu操作系统 1.下载Ubuntu镜像文件 下载地址:清华大学开源软件镜像站 | Tsinghua Open Source Mirror 参考文章:Ubuntu系统下载 ...

  4. shopee根据ID取商品详情 API

    ​ item_get-根据ID取商品详情  注册开通 shopee.item_get 公共参数 名称 类型 必须 描述 key String 是 调用key(必须以GET方式拼接在URL中) secr ...

  5. 如何通过拼多多订单API接口获取订单详情

    要获取拼多多订单详情,可以使用以下接口: 1. API名称:pdd.order.detail.get 接口说明:此接口用于查询某个订单的详情信息. API文档地址:前往注册 调用该接口需要提供以下参数 ...

  6. QA|20211013|SecureCRT:如图,有很多^,中文显示有问题,乱码,如何解决

    Q1:如图,有很多^,中文显示有问题,乱码,如何解决 Q2:securecrt的vi展示有问题:少很多字.有很多^M和^,光标无法移动到最右侧 A: 首先检查当前编码格式: 1 echo $LANG ...

  7. js获取当前月的天数

    //取得本月天数(实际代码:) var now=new Date(); var d = new Date(now.getFullYear(),now.getMonth()+1,0); var days ...

  8. Spring Cache + Caffeine实现本地缓存

    Caffeine简介 Caffeine是一个高性能,高命中率,低内存占用,near optimal 的本地缓存,简单来说它是 Guava Cache 的优化加强版 依赖 <dependency& ...

  9. 「ceoi 2009」harbingers

    link. 朴素 dp 大约就是 \(f_x=f_y+v_x\times(d_x-d_y)+s_x\),\(y\) 是 \(x\) 的祖先.这个式子可以斜率优化,在以 \(d_y\) 为横坐标,\(f ...

  10. 其它——python操作kafka实践

    文章目录 1.先看最简单的场景,生产者生产消息,消费者接收消息,下面是生产者的简单代码. ------------------------------------------------------- ...