题不难,但是一开始把读入看错了,调了半天qaq~

Code:

#include <bits/stdc++.h>
#define N 300
#define setIO(s) freopen(s".in","r",stdin)
using namespace std;
map<int,int>pp;
int n,m,S,T,tot,dis[N][N][30],tmp[N][N],g[N][N];
int main()
{
int i,j,k,l;
// setIO("input");
scanf("%d%d%d%d",&n,&m,&S,&T);
memset(dis,0x3f,sizeof(dis));
for(i=1;i<=m;++i)
{
int a,b,c;
scanf("%d%d%d",&c,&b,&a);
if(!pp[a]) pp[a]=++tot;
if(!pp[b]) pp[b]=++tot;
a=pp[a],b=pp[b];
dis[a][b][0]=dis[b][a][0]=min(dis[a][b][0],c);
}
if(!pp[S]) pp[S]=++tot;
if(!pp[T]) pp[T]=++tot;
S=pp[S],T=pp[T];
for(l=1;l<=20;++l)
{
for(k=1;k<=tot;++k)
for(i=1;i<=tot;++i)
for(j=1;j<=tot;++j)
dis[i][j][l]=min(dis[i][j][l], dis[i][k][l-1]+dis[k][j][l-1]);
}
memset(tmp,0x3f,sizeof(tmp));
int flag=0;
for(l=0;(1<<l)<=n;++l)
{
if(n&(1<<l)) // 2^l
{
if(flag==0)
{
flag=1;
for(i=1;i<=tot;++i)
for(j=1;j<=tot;++j) tmp[i][j]=dis[i][j][l];
}
else
{
memset(g,0x3f,sizeof(g));
for(k=1;k<=tot;++k)
{
for(i=1;i<=tot;++i)
{
for(j=1;j<=tot;++j)
{
g[i][j]=min(g[i][j], tmp[i][k]+dis[k][j][l]);
}
}
}
for(i=1;i<=tot;++i)
for(j=1;j<=tot;++j) tmp[i][j]=g[i][j];
}
}
}
printf("%d\n",tmp[S][T]);
return 0;
}

  

BZOJ 1706: [usaco2007 Nov]relays 奶牛接力跑 倍增Floyd的更多相关文章

  1. bzoj 1706: [usaco2007 Nov]relays 奶牛接力跑——倍增floyd

    Description FJ的N(2 <= N <= 1,000,000)头奶牛选择了接力跑作为她们的日常锻炼项目.至于进行接力跑的地点 自然是在牧场中现有的T(2 <= T < ...

  2. BZOJ 1706: [usaco2007 Nov]relays 奶牛接力跑

    Description FJ的N(2 <= N <= 1,000,000)头奶牛选择了接力跑作为她们的日常锻炼项目.至于进行接力跑的地点 自然是在牧场中现有的T(2 <= T < ...

  3. bzoj 1706: [usaco2007 Nov]relays 奶牛接力跑【矩阵乘法+Floyd】

    唔不知道怎么说--大概核心是把矩阵快速幂的乘法部分变成了Floyd一样的东西,非常之神 首先把点离散一下,最多有200个,然后建立邻接矩阵,a[u][v]为(u,v)之间的距离,没路就是inf 然后注 ...

  4. 【BZOJ】1706: [usaco2007 Nov]relays 奶牛接力跑

    [题意]给定m条边的无向图,起点s,终点t,要求找出s到t恰好经过n条边的最短路径.n<=10^6,m<=100. [算法]floyd+矩阵快速幂 [题解] 先对点离散化,得到点数N. 对 ...

  5. BZOJ_[usaco2007 Nov]relays 奶牛接力跑_离散化+倍增弗洛伊德

    BZOJ_[usaco2007 Nov]relays 奶牛接力跑_离散化+倍增弗洛伊德 Description FJ的N(2 <= N <= 1,000,000)头奶牛选择了接力跑作为她们 ...

  6. 【BZOJ1706】[usaco2007 Nov]relays 奶牛接力跑 矩阵乘法

    [BZOJ1706][usaco2007 Nov]relays 奶牛接力跑 Description FJ的N(2 <= N <= 1,000,000)头奶牛选择了接力跑作为她们的日常锻炼项 ...

  7. 【bzoj1706】[usaco2007 Nov]relays 奶牛接力跑 离散化+倍增Floyd

    题目描述 FJ的N(2 <= N <= 1,000,000)头奶牛选择了接力跑作为她们的日常锻炼项目.至于进行接力跑的地点 自然是在牧场中现有的T(2 <= T <= 100) ...

  8. bzoj1706: [Usaco2007 Nov]relays 奶牛接力跑 (Floyd+新姿势)

    题目大意:有t(t<=100)条无向边连接两点,求s到e刚好经过n(n<=10^7)条路径的最小距离. 第一反应分层图,但是一看n就懵逼了,不会写.看了题解之后才知道可以这么玩... 首先 ...

  9. bzoj1706 [usaco2007 Nov]relays 奶牛接力跑 矩阵快速幂

    题目传送门 https://lydsy.com/JudgeOnline/problem.php?id=1706 题解 换个方法定义矩阵乘法:先加再取 \(\min\). 对于一个 \(n\times ...

随机推荐

  1. MySQL密码正确却无法本地登录,ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

    MySQL密码正确却无法本地登录 报错如下: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password ...

  2. 17.Letter Combinations of a Phone Number (char* 和 string 相互转化)

    leetcode 第17题 分析 char*和string相互转化 char*(或者char)转string 可以看看string的构造函数 default (1) string(); copy (2 ...

  3. nginx浏览器开启密码验证

    如果我们在 nginx 下搭建了一些站点,但是由于站点内容或者流量的关系,我们并不想让所有人都能正常访问,那么我们可以设置访问认证.只有让用户输入正确的用户名和密码才能正常访问.效果如下: 在 ngi ...

  4. Docker pull 出现的 error pulling image configuration: Get https://dseasb33srnrn.cloudfront.net/

    vim /etc/sysconfig/docker OPTIONS='--selinux-enabled --log-driver=journald --signature-verification= ...

  5. 指针生成网络(Pointer-Generator-Network)原理与实战

    指针生成网络(Pointer-Generator-Network)原理与实战   阅读目录 0 前言 1 Baseline sequence-to-sequence 2 Pointer-Generat ...

  6. zookeeper客户端KeeperErrorCode = ConnectionLoss异常问题排查历险记

    经过线报,说前方应用有异常,导致了可用性变差.咦!讨厌的异常,抛异常是程序猿最讨厌的事情之一. 经过收集异常信息如下 ​ ​ 2019-06-24 10:57:41.806 ERROR [hades- ...

  7. .Net C# interface使用

    using System; using System.ServiceModel; namespace com._80community.unittest.Demo { public delegate ...

  8. 怎样理解document节点

    1. document是七种文档节点中的一种, 是最顶级的一种节点; 2. 其他六种节点都包在document节点之内; 3. document既是一种节点的名字, 也是这种节点在DOM中的实例对象; ...

  9. PS笔记

    PS 笔记 PS调色人像步骤-by李涛: 色阶- 追饱和度- 色彩平衡-  中间调不动,阴影偏青,偏绿,偏蓝  , 高光偏红,偏一点蓝 锐化 1. 冷暖对比-by狼族摄影:   高光和阴影设置为偏青色 ...

  10. springboot有第三方jar打包成jar

    <?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven ...