P1744 采购特价商品 题解(讲解图论)
图论的超级初级题目(模板题)
最短路径的模板题
图是啥?(白纸上的符号?)
对于一个拥有n个顶点的无向连通图,它的边数一定多于n-1条。若从中选择n-1条边,使得无向图仍然连通,则由n个顶点及这 n-1条边(弧)组成的图被称为原无向图的生成树。
换句话说,有边有点就是图。(本蒟蒻的理解是这样。。QWQ)
另外,还有一些与图有关的定义(很好理解,通俗一点):
阶:图中点的个数。
边:两个点间的连接
权值:边的长度
。。。想了解更多找度娘,她可能讲的比我通俗QWQ。
邻接矩阵:

进入正题:
题目背景
《爱与愁的故事第三弹·shopping》第一章。
题目描述
中山路店山店海,成了购物狂爱与愁大神的“不归之路”。中山路上有n(n<=100)家店,每家店的坐标均在-10000~10000之间。其中的m家店之间有通路。若有通路,则表示可以从一家店走到另一家店,通路的距离为两点间的直线距离。现在爱与愁大神要找出从一家店到另一家店之间的最短距离。你能帮爱与愁大神算出吗?
输入输出格式
输入格式:
共n+m+3行:
第1行:整数n
第2行~第n+1行:每行两个整数x和y,描述了一家店的坐标
第n+2行:整数m
第n+3行~第n+m+2行:每行描述一条通路,由两个整数i和j组成,表示第i家店和第j家店之间有通路。
第n+m+3行:两个整数s和t,分别表示原点和目标店
输出格式:
仅一行:一个实数(保留两位小数),表示从s到t的最短路径长度。
输入输出样例
说明
100%数据:n<=100,m<=1000
先预处理转化为邻接矩阵后再直接输出就可以了
具体算法为Floyd算法
上AC代码:
#include<cstdio>
#include<cstring>
#include<cmath>
#include<iostream>
using namespace std;
int n,m,a[][],e,g,aa,bb;//a用来存x,y坐标
double f[][];//f用来存路径的
int main(){
scanf("%d",&n);
for(int i=;i<=n;i++)
cin>>a[i][]>>a[i][]; //scanf("%d%d",&a[i][0],&a[i][1]);
scanf("%d",&m);
memset(f,0x7f,sizeof(f));
for(int i=;i<=m;i++)
{
scanf("%d%d",&e,&g);//代替x,y ,因为cmath中有x,y了(真的很无语啊)
f[g][e]=sqrt(pow(double(a[e][]-a[g][]),)+pow(double(a[e][]-a[g][]),));
f[e][g]=sqrt(pow(double(a[e][]-a[g][]),)+pow(double(a[e][]-a[g][]),));
}
scanf("%d%d",&aa,&bb);
for(int k=;k<=n;k++)//开启O(n^3)暴力模式——
for(int i=;i<=n;i++)
for(int j=;j<=n;j++)
{
if((i!=j)&&(i!=k)&&(j!=k)&&(f[i][j]>(f[i][k]+f[k][j])))
f[i][j]=f[i][k]+f[k][j];
}
printf("%0.2lf",f[aa][bb]);//暴力过后松一口气,直接输出您想要的点就行了
return ;
}
完结✿ヽ(°▽°)ノ✿
希望对大家有所帮助
P1744 采购特价商品 题解(讲解图论)的更多相关文章
- P1744 采购特价商品 最短路径
P1744 采购特价商品 图论-----最短路径算法 弗洛伊德算法 O(n^3) 代码: #include<iostream> #include<cstdio> #inclu ...
- 洛谷——P1744 采购特价商品
P1744 采购特价商品 题目背景 <爱与愁的故事第三弹·shopping>第一章. 题目描述 中山路店山店海,成了购物狂爱与愁大神的“不归之路”.中山路上有n(n<=100)家店, ...
- P1744 采购特价商品
原题链接 https://www.luogu.org/problemnew/show/P1744 一道最短路的模板题.....很简单吧 求最短路的方法有很多,但是对于刚学完Floyd的我,只会用这个. ...
- luogu P1744 采购特价商品
实话说我本来想找SPFA的题,结果我硬生生的把这道题做成了Floyd 先来看题,我们会发现如果把他所给的变量都输入,那么会发现用Floyd的解法,输入占了main函数的一半长度... 题目分为两步走: ...
- 洛谷 P1744 采购特价商品
题目背景 <爱与愁的故事第三弹·shopping>第一章. 题目描述 中山路店山店海,成了购物狂爱与愁大神的“不归之路”.中山路上有n(n<=100)家店,每家店的坐标均在-1000 ...
- 洛谷题解 P1744 【采购特价商品】
原题传送门 题目描述 中山路店山店海,成了购物狂爱与愁大神的"不归之路".中山路上有n(n<=100)家店,每家店的坐标均在-10000~10000之间.其中的m家店之间有通 ...
- 洛谷P3502 [POI2010]CHO-Hamsters感想及题解(图论+字符串+矩阵加速$dp\&Floyd$)
洛谷P3502 [POI2010]CHO-Hamsters感想及题解(图论+字符串+矩阵加速\(dp\&Floyd\)) 标签:题解 阅读体验:https://zybuluo.com/Junl ...
- 图论++【洛谷p1744】特价采购商品&&【一本通1342】最短路径问题
(虽然题面不是很一样,但是其实是一个题qwq) [传送门] 算法标签: 利用Floyed的o(n3)算法: (讲白了就是暴算qwq) 从任意一条单边路径开始.所有两点之间的距离是边的权,或者无穷大,如 ...
- Floyd-蒟蒻也能看懂的弗洛伊德算法(当然我是蒟蒻)
今天来讲点图论的知识,来看看最短路径的一个求法(所有的求法我以后会写,也有可能咕咕咕) 你们都说图看着没意思不好看,那今天就来点情景 暑假,_GC准备去一些城市旅游.有些城市之 ...
随机推荐
- DocX开源WORD操作组件的学习系列四
DocX学习系列 DocX开源WORD操作组件的学习系列一 : http://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_sharp_001_docx1.htm ...
- MaxCompute在高德大数据上的应用
2019年1月18日,由阿里巴巴 MaxCompute开发者社区和阿里云栖社区联合主办的“阿里云栖开发者沙龙大数据技术专场”走近北京联合大学,本次技术沙龙上,高德数据技术专家苗翌辰为大家分享了高德如何 ...
- Flask入门之完整项目搭建
一.创建虚拟环境 1,新建虚拟环境 cmd中输入:mkvirtualenv 环境名 2,在虚拟环境安装项目运行所需要的基本模块 pip install flask==0.12.4 pip instal ...
- WEB项目挂载到IIS session过期
莫名丢失问题: 1.可能是因为系统内部连续的抛出了5次以上的异常 导致进程重启(当前所有在线用户) 2.IIS6 以上默认配置进程,session存在进程内其实是在W3wp.exe中这个进程不稳定,在 ...
- Java开发笔记(二十九)大整数BigInteger
早期的编程语言为了节约计算机的内存,给数字变量定义了各种存储规格的数值类型,比如字节型byte只占用一个字节大小,短整型short占用两个字节大小,整型int占用四个字节大小,长整型long占用八个字 ...
- 事件绑定on与hover事件
今天项目中UI设计了一个鼠标划入和划出的效果,本来这个小效果是非常简单的!可是在实际的生产环境中就出现了一点点问题!因为在实际的环境中,数据全部是用ajax异步加载进去的,这样就造成了hover方法不 ...
- linux学习笔记-配置vbox虚拟机本地连接和外网同时可用
我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! 在设置网络里面启用两个网卡,一个桥接,一个网络地址转换 archlinux系统下第一个网络地址转换,第二个桥接 centos7系 ...
- Snapman系统中TCC执行效率和C#执行效率对比
Snapman集合了TCC编译器可以直接编译执行C语言脚本,其脚本执行效率和C#编译程序进行效率对比,包括下面4方面: 1.函数执行效率 2.数字转换成字符串 3.字符串的叠加 4.MD5算法 这是C ...
- SVN拉取后撤销,恢复未拉取之前的状态
在做项目的时候,一不小心将服务器上的代码覆盖了本地的代码,本来可以使用log查看svn上的历史列表,然后选中某个选项,右键,点击revert to this vision来使代码恢复到任意一个版本. ...
- 章节十、1-用ID和XPath、name定位元素
一.在定位元素时需要HTML标签,HTML是超文本标记语言,我们打开web网页是看到的内容就是通过html语言来实现的,按键盘“F12”调用开发者选项后,“Elements”栏中显示的就是网页的HTM ...