洛谷P1613 跑路
题目描述
小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的边。
输出格式:
一行一个数字,表示到公司的最少秒数。
输入输出样例
4 4 1 1 1 2 2 3 3 4
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 跑路相关推荐
- 洛谷——P1613 跑路
P1613 跑路 题目大意: 小A的工作不仅繁琐,更有苛刻的规定,要求小A每天早上在6:00之前到达公司,否则这个月工资清零.可是小A偏偏又有赖床的坏毛病.于是为了保住自己的工资,小A买了一个十分牛B ...
- 【Luogu】P1613 跑路
[Luogu]P1613 跑路 一.题目 题目描述 小A的工作不仅繁琐,更有苛刻的规定,要求小A每天早上在6:00之前到达公司,否则这个月工资清零.可是小A偏偏又有赖床的坏毛病.于是为了保住自己的工资 ...
- 洛谷P1589 泥泞路
洛谷P1589 泥泞路 题目描述 暴雨过后,FJ的农场到镇上的公路上有一些泥泞路,他有若干块长度为L的木板可以铺在这些泥泞路上,问他至少需要多少块木板,才能把所有的泥泞路覆盖住. 输入输出格式 输入格 ...
- [Dijstra] 洛谷 P2939 改造路
题意翻译 约翰一共有N)个牧场.由M条布满尘埃的小径连接.小径可 以双向通行.每天早上约翰从牧场1出发到牧场N去给奶牛检查身体. 通过每条小径都需要消耗一定的时间.约翰打算升级其中K条小径,使之成为高 ...
- 洛谷 P1589 泥泞路 2019青岛市竞赛(贪心)
题目链接 https://www.luogu.org/problemnew/show/P1589 解题思路 用结构体存下每一段泥泞路的左端点和右端点,然后用sort根据左端点排序,采用贪心的思想,从左 ...
- 洛谷P1807 最长路_NOI导刊2010提高(07) 求有向无环图的 最长路 图论
洛谷P1807 最长路_NOI导刊2010提高(07) 图论 求有向无环图的 最长路 首先阐明一点 最长路dijkstra 是不能做 (当然我是不会做的,不过我貌似看到过网上的dalao有用dijst ...
- 洛谷 P2939 [USACO09FEB]改造路Revamping Trails
洛谷 P2939 [USACO09FEB]改造路Revamping Trails Description 约翰一共有N)个牧场.由M条布满尘埃的小径连接.小径可 以双向通行.每天早上约翰从牧场1出发到 ...
- 图论——最长路(洛谷 P1807)
题目选自洛谷P1807 对于一个有向无环图,可以采取广搜将结点依次搜索,记录当前结点的最长路并在循环过程中不断更新. 题目描述 设 G 为有 n 个顶点的带权有向无环图,G 中各顶点的编号为 1 到 ...
- 【菜鸟进阶之路】 P4924 [1007]魔法少女小Scarlet - 洛谷
一.题目部分 选自洛谷: P4924 [1007]魔法少女小Scarlet 二.解题过程 思路 见"提交AC答案"部分给出的注释 提交AC答案 #include<bits/s ...
最新文章
- 网络流24题-飞行员配对方案问题
- 二:serverless网站数据库操作
- C语言函数知识体系大学霸IT达人
- 【NLP】Attention Model(注意力模型)学习总结
- Git使用汇总之工作区、暂存区、版本库
- android-menudrawer 和SlidingMenu 用法
- Angular的constructor和ngOnInit里写代码有什么区别?
- ubuntu 14.04 安装Java JDK
- 只需20小时,让0基础的你掌握小程序云开发!这个暑假,约否?
- 初识函数式编程(Functional Programming,FP)
- mysql视图应用_MySQL视图的概念与实际应用
- SAP License:工作中的怪现象
- Calendar导入java,Java程序使用Calendar.add()方法将分钟添加到当前时间
- java正则表达式中的斜杠,java正则表达式匹配斜杠[Java编程]
- 所谓的1261考核法算不算是末尾淘汰?
- 基于单片机的水壶自动加热系统_一种基于单片机的电热水壶控制系统的制作方法...
- 卡内基梅隆大学计算机专业介绍,美国卡内基梅隆大学计算机专业介绍
- OpenDDS开发人员指南中文版3.23(2)入门
- 玩吧接入流程(暂时记记)
- 如何用电脑画平面坐标图_在Word中如何画坐标图?