洛谷——P1613 跑路
P1613 跑路
题目大意:
小A的工作不仅繁琐,更有苛刻的规定,要求小A每天早上在6:00之前到达公司,否则这个月工资清零。可是小A偏偏又有赖床的坏毛病。于是为了保住自己的工资,小A买了一个十分牛B的空间跑路器,每秒钟可以跑2^k千米(k是任意自然数)。当然,这个机器是用longint存的,所以总跑路长度不能超过maxlongint千米。小A的家到公司的路可以看做一个有向图,小A家为点1,公司为点n,每条边长度均为一千米。小A想每天能醒地尽量晚,所以让你帮他算算,他最少需要几秒才能到公司。数据保证1到n至少有一条路径。
倍增+Floyd处理
首先不能直接跑最短路,因为跑路机的存在,可以想到倍增,每次向上跳最大可能步数,但就样例来说,1~n的树上路径是3,无法考虑到包含自环的点
设$p[i][j][k]$为$i$到$j$路径长度为$2^k$的路径是否存在,倍增就好了,然后Floyd求最短路。
#include<bits/stdc++.h>#define N 101010 using namespace std;int d[105][105],n,m; bool p[105][105][105];int main() {scanf("%d%d",&n,&m);memset(d,0x3f,sizeof(d));for(int u,v,i=1;i<=m;i++){scanf("%d%d",&u,&v);d[u][v]=1;p[u][v][0]=true;}for(int k=1;k<=100;k++){for(int f=1;f<=n;f++)for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){if(p[i][f][k-1]&&p[f][j][k-1])p[i][j][k]=true,d[i][j]=1;}}}for(int k=1;k<=n;k++){for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){d[i][j]=min(d[i][k]+d[k][j],d[i][j]);}}}printf("%d\n",d[1][n]);return 0; }
转载于:https://www.cnblogs.com/song-/p/9629066.html
洛谷——P1613 跑路相关推荐
- 【Luogu】P1613 跑路
[Luogu]P1613 跑路 一.题目 题目描述 小A的工作不仅繁琐,更有苛刻的规定,要求小A每天早上在6:00之前到达公司,否则这个月工资清零.可是小A偏偏又有赖床的坏毛病.于是为了保住自己的工资 ...
- 洛谷P1589 泥泞路
洛谷P1589 泥泞路 题目描述 暴雨过后,FJ的农场到镇上的公路上有一些泥泞路,他有若干块长度为L的木板可以铺在这些泥泞路上,问他至少需要多少块木板,才能把所有的泥泞路覆盖住. 输入输出格式 输入格 ...
- 洛谷P1613 跑路
题目描述 小A的工作不仅繁琐,更有苛刻的规定,要求小A每天早上在6:00之前到达公司,否则这个月工资清零.可是小A偏偏又有赖床的坏毛病.于是为了保住自己的工资,小A买了一个十分牛B的空间跑路器,每秒钟 ...
- [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 ...
最新文章
- python错误和异常处理怎处理你知道么
- CA ARCserve Backup系列(3)—安装代理(Linux篇)
- Python_logging模块
- explain 之 table || explain 之 type
- java中封装日期加时间_java日期处理简单封装
- 在iptables防火墙下开启vsftpd的端口
- (1)编译安装lamp三部曲之apache-技术流ken
- CruiseControl中应用NCover和NCoverExplore
- oracle fiscal year,Version 0 is not defined for fiscal year 2007.
- 多个命令执行结果输出到同一个文件(批处理)
- 37.Linux/Unix 系统编程手册(下) -- DAEMON
- 利用google工具进行关键词研究
- android长度测量工具,手机测量长度软件
- ps裁剪和裁切的区别_ps裁剪工具怎么用?调整图像与画布的尺寸(三)
- 国内研发!适用于安卓应用程序的 Word文档功能开发组件来啦!
- web页面中实现局部页面的刷新
- 下面不是计算机网络面临的主要威胁是,网络安全复习题2
- c语言罗马数字换成整数,leetcode 13 罗马数字转整数 C语言
- 51单片机智能远程遥控温控PWM电风扇系统红外遥控温度速度定时关机
- pfn_to_page