HDU 1599[find the mincost route]题解

『杭电1199』Color the Ball Problem Description There are infinite balls in a line (numbered 1 2 3 ....), and initially all of them are paint black. Now Jim use a brush paint the balls, every time give two integers a b and follow by a char 'w' or 'b', 'w' denotes the ball from a to 阅读详情

(传送门)

题目大意

给出一个无向图,求这个图的最小环(环上至少有两条边,每个点只能经过一次)。

题目分析

对于一个无向图,并不是像有向图那样先floyd扫然后查找f[i][i]最小值,但仍然可以用floyd来解决。
在枚举最外层k的时候,此时所有的最短路都没有k,那么可以找出含k的最小环。
先说明,在某个环上的最大点编号为最外层枚举的k,现在有两个点i,j与k直接相连,且这里写图片描述,那么最大点编号为k,i,j,k都在环上所对应的最小环的权值和为这里写图片描述
所以可以先枚举k,然后枚举i < j < k,更新答案,接着再正常的用floyd算含路径中有k时的最短路。
时间:O(n^3); 空间:O(n^2);

#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int n,e,ans,INF,cst[105][105],f[105][105];
inline void readi(int &x){
    x=0; char ch=getchar();
    while ('0'>ch||ch>'9') ch=getchar();
    while ('0'<=ch&&ch<='9') {x=x*10+ch-'0'; ch=getchar();}
}
void floyd()
{
    for (int k=1;k<=n;k++)
    {
        for (int i=1;i<k;i++)
          for (int j=i+1;j<k;j++)
            if (f[i][j]!=INF&&cst[i][k]!=INF&&cst[j][k]!=INF) ans=min(ans,f[i][j]+cst[i][k]+cst[j][k]);
        for (int i=1;i<=n;i++)
          for (int j=1;j<=n;j++)
            if (f[i][k]!=INF&&f[k][j]!=INF) f[i][j]=min(f[i][j],f[i][k]+f[k][j]);
    }
    if (ans>=INF) printf("It's impossible.\n");
    else printf("%d\n",ans);
}
int main()
{
    while (scanf("%d%d",&n,&e)==2)
    {
        memset(f,63,sizeof(f));
        memset(cst,63,sizeof(cst));
        INF=f[0][0];
        for (int i=1;i<=n;i++) f[i][i]=cst[i][i]=0;
        for (int i=1;i<=e;i++)
        {
            int x,y,z; readi(x); readi(y); readi(z);
            if (z>=cst[x][y]) continue;
            cst[x][y]=cst[y][x]=f[x][y]=f[y][x]=z;
        }
        ans=INF;
        floyd();
    }
    return 0;
}
FPGA 学习笔记:解决FPGA程序固化重新上电程序不运行的问题 阅读详情

相关推荐

小米手机安装Burp证书失败原因与DER格式改造指南

CA证书是HTTPS抓包和移动安全测试的基础组件,其本质是遵循X.509标准的数字凭证,依赖ASN.1/DER编码格式与完整证书链实现可信验证。Android系统默认支持PEM和DER两种编码,但MIUI自14版本起强化安全策略,仅识别DER二进制格式,并强制校验Subject Alternative Name(SAN)、Basic Constraints及证书链完整性。这种企业级加固逻辑导致Burp Suite导出的PEM格式.cer文件在小米设备上‘安装成功但无效’。本文聚焦证书格式转换、SAN字段注入

weixin_33646989的博客 625

hdu 1599 find the mincost route 求最小环floyd

题目链接 题意:给出n个点,至少包含三个节点的最小环。 最小环的算法如下: Floyd 的 改进写法可以解决最小环问题,时间复杂度依然是 O(n^3),储存结构也是邻接矩阵   int mincircle = infinity; Dist = Graph; for(int k=0;k     //新增部分:     for(int i=0;i         for

弱菜zc 933

Multisim实战:从零搭建体温检测报警电路(附完整仿真文件+调试技巧)

本文详细介绍了如何使用Multisim从零搭建体温检测报警电路,涵盖LM35温度传感器、LM358运算放大器等核心器件的选型与连接,以及信号调理、阈值比较和数码管显示等关键电路设计。附赠完整仿真文件和实用调试技巧,帮助电子工程初学者快速掌握体温温度检测系统的设计与实现。

weixin_28285943的博客 294

HDU 1599 find the mincost route (无向图的最小环)

题意:   给一个带权无向图,求其至少有3个点组成的环的最小权之和。 思路:   (1)DFS可以做,实现了确实可以,只是TLE了。量少的时候应该还是可以水一下的。主要思路就是,深搜过程如果当前点搜到一个点访问过了,而其不是当前点的父亲,则肯定有环,可以更新答案。深搜过程要记录路径和,父亲,是否访问过等等信息,因为图可能有多个连通分量。 1 #inc...

weixin_30252155的博客 148

ScanNet数据集详解

ScanNet 是一个 RGB-D 视频数据集,在超过 1500 次扫描中包含了 250 万个视图,并标注了 3D 相机位姿、表面重建和实例级的语义分割。为了收集这些数据,设计了一个易于使用且具有扩展性的 RGB-D 捕获系统,包括自动化的表面重建和众包的语义标注。如果您想下载 ScanNet 数据,请使用您的机构邮箱地址填写一份 ScanNet 使用条款协议,并发送至 scannet@googlegroups.com。压缩包是将3D的标注信息“拍扁”成2D图片的结果,对应原始视频的每一帧。

frostmelody 全网同名,大家多多关注呀~ 持续分享优质内容! 3922

驱动钛丝(SMA)的应用(5)汽车腰托气阀常见问题及解决方案

财哥在前段时间发布的《驱动钛丝(SMA)的应用(1)汽车腰托支撑按摩气阀模块》一文,引发了很多企业的拜访和交流。 目前很多厂家已经启动或正在进行相关研发,同时也遇到了诸如:钛丝选型、驱动位移、响应设计、温度控制、力量设计、点动滞后、铆接工艺、量化生产等问题。

weixin_39168671的博客 1243

find the mincost route

  find the mincost route Crawling in process... Crawling failed      Time Limit:2000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u        Description 杭州有N个景区,景区之间有一些双

…… 426

SpringBoot项目实战:5分钟搞定豆包大模型API接入(附完整代码)

本文详细介绍了如何在SpringBoot项目中快速集成豆包大模型API,仅需5分钟即可完成。从环境准备、依赖配置到核心服务封装和控制器层实现,提供了完整的代码示例和实战技巧,帮助开发者高效接入大模型能力,提升智能客服等应用的开发效率。

weixin_30566063的博客 440

find the mincost route(最小环,最短路,floyd)

find the mincost route Time Limit: 1000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 3425    Accepted Submission(s): 1397 Problem Description 杭 州有N个景区,景区之...

weixin_33796177的博客 159

【JavaSE】之流程控制与方法

Java基础之Java流程控制与方法相关知识介绍~

小新要变强的博客 5799

包成功安装tiny-cuda-nn,记录安装过程中的问题解决,附带pytorch3d安装【踩坑指南】

该包可以显著提高NeRF训练速度,是和NeRFstudio等框架中,必须使用的。本文提供tiny-cuda-nn可以安装的完整包的下载链接,可以直接上传到项目中安装。附带笔者遇到的问题的解决方案。

zik的博客 7030

HDU1599 find the mincost route (floyd求最小环)

题目大意:就是说8600要去旅行,给你若干个景区,8600想要找到一条路线,比如从A出发最终回到A,并且除了出发点外其余的景区不会不会重复走一遍,如V1>V2>V3>....>Vn,并且景区数不少于3.现在要求你找出一条花费最少的路径。其中数据N,M为景区数,道路数。a,b,c表示从a到b需要花费c元。   解法:就是利用Floyd算法扩展求出无向图的最小环。   注意:无向图的最小环和有

Ezereal的博客 495

【100分】【等和子数组最小和】

逆序排序,这样能够使得在分组时优先选取较大的元素,以便将元素分配到较小的子集中,从而使得每个子集的和相对均衡。给定一个数组nums,将元素分为若干个组,使得每组和相等,求出满足条件的所有分组中,组内元素和的最小值。分成若干个组,使得每组的和相等,并求出满足条件的所有分组中,组内元素和的最小值。在递归的过程中,我们需要注意一个优化点,即避免将相同和的桶重复计算。4 个子集(5),(1,4),(2,3),(2,3)2 个子集(5, 1, 4),(2,3, 2,3)个子集,则返回子集和的最小值,如果不能,则将。

weixin_54707168的博客 1168

hdu 1599 find the mincost route(dijkstra||floyed)

hdu 1599 find the mincost route http://acm.hdu.edu.cn/showproblem.php?pid=1599 ProblemDescription 杭州有N个景区,景区之间有一些双向的路来连接,现在8600想找一条旅游路线,这个路线从A点出发并且最后回到A点,假设经过的路线为V1,V2,....VK,V1,那么必须满足K...

diansitao5461的博客 183

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

HDU1599 find the mincost route

题目大意&&思路:求出最小环,模板撸过~~~(floyd在求出最短路径的同时把最小环也求出来)   AC program: #include #include #include #include #include using namespace std; #define inf 1000000000 int mm[105][105]; int dd[105][105]; int n,

muxi@Achilles的专栏 959

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

HDU 1599: find the mincost route

点击打开题目链接 find the mincost route Time Limit: 1000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 5479    Accepted Submission(s): 2195 Problem De

温姑娘的博客 518

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

HDU 1599 find the mincost route

Floyd可解。 求最短的,能来回的路。用Floyd 并且在 三点不相同的时候 把最短找出来。然后更新。 开始没有判断!=INF。结果溢出一堆负数。 #include #include #include #include #include #include #include #include #include #include #include #define INF 0x7

自己选择的路,跪着也要走完。 805

hdu 1599 find the mincost route(找无向图最小环)

注意!这里写成   #define data 0x3f3f3f3f  memset(map,data,sizeof(map))是wrong 按理来说应该不错,郁闷,以后还是循环赋值然后宏定义#define data 100000000 Problem Description 杭州有N个景区,景区之间有一些双向的路来连接,现在8600想找一条旅游路线,这个路线从A点出发并且最后回到A点,假设经过

1947

HDU 1599 find the mincost route 、 poj 1734 Sightseeing trip

今天无向图求最小环的算法,重温了一遍floyd。 首先对于floyd算法,是一种动态规划的思想 dp[k][i][j]代表的含义是从ui到uj经过的除端点以外最大的不超过k的点的最小值 dp[k][i][j] = min(dp[k - 1][i][k] + dp[k - 1][k][j],dp[k][i][j]); 而求floyd时可以顺便求得最小环,对于构成最小环的点集{x1, x2,

c337134154的专栏 779

hdu1599——find the mincost route

Floyd 的 改进写法可以解决最小环问题,时间复杂度依然是 O(n^3),储存结构也是邻接矩阵 int mincircle = infinity;Dist = Graph;for(int k=0;k    for(int i=0;i        for(int j=0;j            mincircle = min(mincircle,Dist[i][j]+Graph[j][k]+Graph[k][i]);    //通常的 floyd 部分:    for(int i=0;i        

r_ax的专栏 962

HDU1599 find the mincost route——floyed+最小环

find the mincost route Time Limit: 1000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 7944 Accepted Submission(s): 3027 Problem Description 杭州有N个景区,景区之间有一些...

小橘子的AC之旅 683

[hdu P1599] find the mincost route

[hdu P1599] find the mincost route 杭州有N个景区,景区之间有一些双向的路来连接,现在8600想找一条旅游路线,这个路线从A点出发并且最后回到A点,假设经过的路线为V1,V2,....VK,V1,那么必须满足K>2,就是说至除了出发点以外至少要经过2个其他不同的景区,而且不能重复经过同一个景区。现在8600需要你帮他找一条这样的路线,并且花费越少...

a8233821的博客 173

HDU 1599(find the mincost route)

最短路径问题,使用Floyd算法。

Intelligence1028的博客 328

HDU 1599 find the mincost route(最小环)

HDU 1599 find the mincost route(最小环) 题意:给定带权无向图,可能有重边,求至少结点数为3的最小环,这里环的权值定义为环上带权边的权值之和。 思路:floydfloydfloyd解决,考虑遍历到第kkk个中转站时,我们已经求出i,j<ki,j<ki,j<k时的最短路d[i][j]d[i][j]d[i][j],所以若i,j,ki,j,ki,j,k在一个环上的话,则ans=min(ans,d[i][j]+g[i][k]+g[k][j])ans=min(ans

Harris-H的博客 743

【HDU 1599】 Find the mincost route

【题目链接】          点击打开链接【算法】         弗洛伊德求最小环模板         我们知道,在一个环上,一定有一个有且仅有一个编号最大的点,设这个点为k,起点为i,终点为j,那么         mincost = dist[i][j] + cost[j][k] + cost[k][i] (dist[i][j]为i到j的最短路)         所以只需枚举i,j,k,在...

even_bao的博客 347

HDU-1599-Find the mincost route

无语了,第一次因为溢出错这么多次。最大值不能设置为0x3f3f3f3f ,要不然三个它相加就溢出了,一直错。 这题问的是从一个点出发,经过其它不同两点,回到起点,这个环的最小值,也就是说边ab+bc+ca的值。 我们可以不断地进行松弛操作,每次调整最小的环值,我们比较的是,当前最小环值和从 min(ac)+dis(ab)+dis(bc) ,这样我们就一定经过了不同的两点,从而更新了环值。 默默补一...

XYQ BLOG 220
上一篇: POJ 1678[I Love this Game!]题解
下一篇: POJ 1364[King]题解
「已注销」
博客等级 码龄10年 9粉丝 104原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值