题目描述

小A的工作不仅繁琐,更有苛刻的规定,要求小A每天早上在6:00之前到达公司,否则这个月工资清零。可是小A偏偏又有赖床的坏毛病。于是为了保住自己的工资,小A买了一个十分牛B的空间跑路器,每秒钟可以跑2^k千米(k是任意自然数)。当然,这个机器是用longint存的,所以总跑路长度不能超过maxlongint千米。小A的家到公司的路可以看做一个有向图,小A家为点1,公司为点n,每条边长度均为一千米。小A想每天能醒地尽量晚,所以让你帮他算算,他最少需要几秒才能到公司。数据保证1到n至少有一条路径。

输入输出格式

输入格式:

第一行两个整数n,m,表示点的个数和边的个数。

接下来m行每行两个数字u,v,表示一条u到v的边。

输出格式:

一行一个数字,表示到公司的最少秒数。

输入输出样例

输入样例#1:

4 4
1 1
1 2
2 3
3 4

输出样例#1:

1

说明

【样例解释】

1->1->2->3->4,总路径长度为4千米,直接使用一次跑路器即可。

【数据范围】

50%的数据满足最优解路径长度<=1000;

100%的数据满足n<=50,m<=10000,最优解路径长度<=maxlongint。

题解: 

显然是一道倍增题,如果你从i跳2的j-1次方可以跳到k,从k再跳j-1次方可以跳到h,那么显然你可以一步从i跳到h,这个可以用弗洛伊德来实。

代码:

#include<iostream>
#include<stdio.h>
#include<stdlib.h>
#include<algorithm>
#include<cstring>
using namespace std;
int mp[100][100],n,m;
int b[100][100][100];
int main(){//freopen("1.in","r",stdin);memset(b,0,sizeof(b));memset(mp,37,sizeof(mp));scanf("%d%d",&n,&m);for(int i=1;i<=m;i++){int x,y;scanf("%d%d",&x,&y);b[x][y][0]=1;mp[x][y]=1;}for(int num=1;num<=32;num++)for(int i=1;i<=n;i++)for(int k=1;k<=n;k++)if(b[i][k][num-1])for(int j=1;j<=n;j++){if(b[k][j][num-1]){b[i][j][num]=1;mp[i][j]=1;}}for(int k=1;k<=n;k++)for(int i=1;i<=n;i++)for(int j=1;j<=n;j++)mp[i][j]=min(mp[i][j],mp[i][k]+mp[k][j]);printf("%d\n",mp[1][n]);
} 

转载于:https://www.cnblogs.com/renjianshige/p/7253368.html

洛谷P1613 跑路相关推荐

  1. 洛谷——P1613 跑路

    P1613 跑路 题目大意: 小A的工作不仅繁琐,更有苛刻的规定,要求小A每天早上在6:00之前到达公司,否则这个月工资清零.可是小A偏偏又有赖床的坏毛病.于是为了保住自己的工资,小A买了一个十分牛B ...

  2. 【Luogu】P1613 跑路

    [Luogu]P1613 跑路 一.题目 题目描述 小A的工作不仅繁琐,更有苛刻的规定,要求小A每天早上在6:00之前到达公司,否则这个月工资清零.可是小A偏偏又有赖床的坏毛病.于是为了保住自己的工资 ...

  3. 洛谷P1589 泥泞路

    洛谷P1589 泥泞路 题目描述 暴雨过后,FJ的农场到镇上的公路上有一些泥泞路,他有若干块长度为L的木板可以铺在这些泥泞路上,问他至少需要多少块木板,才能把所有的泥泞路覆盖住. 输入输出格式 输入格 ...

  4. [Dijstra] 洛谷 P2939 改造路

    题意翻译 约翰一共有N)个牧场.由M条布满尘埃的小径连接.小径可 以双向通行.每天早上约翰从牧场1出发到牧场N去给奶牛检查身体. 通过每条小径都需要消耗一定的时间.约翰打算升级其中K条小径,使之成为高 ...

  5. 洛谷 P1589 泥泞路 2019青岛市竞赛(贪心)

    题目链接 https://www.luogu.org/problemnew/show/P1589 解题思路 用结构体存下每一段泥泞路的左端点和右端点,然后用sort根据左端点排序,采用贪心的思想,从左 ...

  6. 洛谷P1807 最长路_NOI导刊2010提高(07) 求有向无环图的 最长路 图论

    洛谷P1807 最长路_NOI导刊2010提高(07) 图论 求有向无环图的 最长路 首先阐明一点 最长路dijkstra 是不能做 (当然我是不会做的,不过我貌似看到过网上的dalao有用dijst ...

  7. 洛谷 P2939 [USACO09FEB]改造路Revamping Trails

    洛谷 P2939 [USACO09FEB]改造路Revamping Trails Description 约翰一共有N)个牧场.由M条布满尘埃的小径连接.小径可 以双向通行.每天早上约翰从牧场1出发到 ...

  8. 图论——最长路(洛谷 P1807)

    题目选自洛谷P1807 对于一个有向无环图,可以采取广搜将结点依次搜索,记录当前结点的最长路并在循环过程中不断更新. 题目描述 设 G 为有 n 个顶点的带权有向无环图,G 中各顶点的编号为 1 到  ...

  9. 【菜鸟进阶之路】 P4924 [1007]魔法少女小Scarlet - 洛谷

    一.题目部分 选自洛谷: P4924 [1007]魔法少女小Scarlet 二.解题过程 思路 见"提交AC答案"部分给出的注释 提交AC答案 #include<bits/s ...

最新文章

  1. 网络流24题-飞行员配对方案问题
  2. 二:serverless网站数据库操作
  3. C语言函数知识体系大学霸IT达人
  4. 【NLP】Attention Model(注意力模型)学习总结
  5. Git使用汇总之工作区、暂存区、版本库
  6. android-menudrawer 和SlidingMenu 用法
  7. Angular的constructor和ngOnInit里写代码有什么区别?
  8. ubuntu 14.04 安装Java JDK
  9. 只需20小时,让0基础的你掌握小程序云开发!这个暑假,约否?
  10. 初识函数式编程(Functional Programming,FP)
  11. mysql视图应用_MySQL视图的概念与实际应用
  12. SAP License:工作中的怪现象
  13. Calendar导入java,Java程序使用Calendar.add()方法将分钟添加到当前时间
  14. java正则表达式中的斜杠,java正则表达式匹配斜杠[Java编程]
  15. 所谓的1261考核法算不算是末尾淘汰?
  16. 基于单片机的水壶自动加热系统_一种基于单片机的电热水壶控制系统的制作方法...
  17. 卡内基梅隆大学计算机专业介绍,美国卡内基梅隆大学计算机专业介绍
  18. OpenDDS开发人员指南中文版3.23(2)入门
  19. 玩吧接入流程(暂时记记)
  20. 如何用电脑画平面坐标图_在Word中如何画坐标图?

热门文章

  1. SQL Server 2012笔记分享-49:理解数据库快照
  2. vs2008 中MessageBox()报错——CString与Char* 的转化
  3. ASP3.0给我们带来的新技术之一---DataShaping技术
  4. Spring4-@Configuration的使用
  5. 查看网站上保存的密码
  6. java关键字--static--应用场景、特点和注意事项
  7. IOS设计模式第六篇之适配器设计模式
  8. Linux 中RPM包的安装
  9. Qt地址簿-加个信号及槽
  10. 三张图读懂机器学习 :基本概念、五大流派与九种常见算法