Highway Project (ZOJ - 3946,双权值 spfa)

资金穿透分析 我们把准备好的银行数据导入到软件中,导入具体步骤这里不做详解,大家可以通过“清林情报分析师”公众号,查看操作视频第二节 阅读详情

一.题目链接:

ZOJ-3946

二.题目大意:

T 组数据.

第一行两个整数 n,m   1\leq N,\ M \leq 10^{5}

之后 m 行数据,每行给出第 i 条路的 {起点,终点,花费时间,花费金钱}

首都为第 0 号城市.

求从首都到其他所有城市所需的 总时间 和 总建路花费.

三.分析:

双权值的单源最短路,更改 if 条件语句里就可以了.

注意:时间可重复加,但花费不可以.

所以直接用 dis2[v] 来记录第 i 条路的花费

之后求和即可.

还有要开 long long int.

详见代码.

四.分析:

#include <set>
#include <map>
#include <ctime>
#include <queue>
#include <cmath>
#include <stack>
#include <vector>
#include <cstdio>
#include <sstream>
#include <cstring>
#include <cstdlib>
#include <iostream>
#include <algorithm>
#define eps 1e-6
#define pi acos(-1.0)
#define ll long long int
using namespace std;

const int M = (int)1e5;
const ll inf = 1ll << 50;

struct node
{
    int u;
    int v;
    int c1;
    int c2;
    int next;
}Edge[2 * M + 5];

int cnt = 0;
bool vis[M + 5];
int head[M + 5];
ll dis1[M + 5];
ll dis2[M + 5];

void init(int n)
{
    cnt = 0;
    for(int i = 0; i < n; ++i)
    {
        vis[i] = 0;
        head[i] = -1;
        dis1[i] = inf;
        dis2[i] = inf;
    }
}

void add(int u, int v, int c1, int c2)
{
    Edge[cnt].u = u;
    Edge[cnt].v = v;
    Edge[cnt].c1 = c1;
    Edge[cnt].c2 = c2;
    Edge[cnt].next = head[u];
    head[u] = cnt++;
}

struct cmp
{
    bool operator()(int a, int b)
    {
        if(dis1[a] == dis1[b])
            return dis2[a] > dis2[b];
        return dis1[a] > dis1[b];
    }
};

void spfa(int start)
{
    vis[start] = 1;
    dis1[start] = 0;
    dis2[start] = 0;
    priority_queue <int, vector <int>, cmp> q;
    q.push(start);
    while(!q.empty())
    {
        ll u = q.top();
        q.pop();
        vis[u] = 0;
        for(int i = head[u]; ~i; i = Edge[i].next)
        {
            int v = Edge[i].v;
            if(dis1[v] >= dis1[u] + Edge[i].c1)
            {
                if(dis1[v] == dis1[u] + Edge[i].c1)
                    dis2[v] = min(dis2[v], 1ll * Edge[i].c2);
                else
                    dis2[v] = 1ll * Edge[i].c2;
                dis1[v] = dis1[u] + Edge[i].c1;
                if(!vis[v])
                {
                    vis[v] = 1;
                    q.push(v);
                }
            }
        }
    }
}

int main()
{
    int T;
    scanf("%d", &T);
    while(T--)
    {
        int n, m;
        scanf("%d %d", &n , &m);
        init(n);
        for(ll i = 0; i < m; ++i)
        {
            ll u, v, c1, c2;
            scanf("%d %d %d %d", &u, &v, &c1, &c2);
            add(u, v, c1, c2);
            add(v, u, c1, c2);
        }
        spfa(0);
        ll sum1 = 0;
        ll sum2 = 0;
        for(int i = 0; i < n; ++i)
        {
            sum1 += dis1[i];
            sum2 += dis2[i];
        }
        printf("%lld %lld\n", sum1, sum2);
    }
    return 0;
}

 

 

基于YOLOv11的人脸识别系统:从构建到应用的全流程指南 深度学习是机器学习的一个分支,旨在通过多层神经网络模拟人脑的认知能力。它能够从大量数据中自动提取特征,并进行准确的预测和分类。在计算机视觉领域,深度学习技术已经取得了显著的成果,尤其是在图像识别、目标检测等方面。YOLOv11是YOLO系列模型的最新版本,结合了卷积神经网络(CNN)和其他创新技术。它在保持高精度的同时,显著提高了推理速度。YOLOv11的结构轻量且高效,非常适合实时目标检测任务。人脸检测的目标是从图像或视频中定位所有人脸的位置。 阅读详情

相关推荐

Linear超高PSRR线性稳压器-典型应用电路解析

本文整理完了LT3045数据手册内所有的典型应用电路,试图让沉默的电路开口,简单介绍了他们这样做的目的和原理,从中我们可以更加熟悉这颗经典芯片的应用。但也有一些电路并没有搞懂,遗留下了不少问题。

硬件工程师笔记 2943

zoj 3946 Highway Project(最短路径)

题目链接 题意:最短路径,每个边上有2个权值,第二个权值是不能累加的#include<bits/stdc++.h>using namespace std;#define LL long long #define cl(a,b) memset(a,b,sizeof(a)) #define pb push_back #define gcd __gcdconst int maxn = 100005; c

qwesde 801

[USACO2023-JAN-Bronze] T2 Air Cownditioning II 题解

[USACO2023-JAN-Bronze] T2 Air Cownditioning II题解

1652

浙江省赛zoj3946 Highway Project

Highway Project Time Limit: 2 Seconds      Memory Limit: 65536 KB Edward, the emperor of the Marjar Empire, wants to build some bidirectional highways so that he can reach other cities from

emmmmmm 2926

【数据库】SQL Server 2008 R2 安装全流程详解与常见问题避坑指南

本文详细解析了SQL Server 2008 R2的完整安装流程与核心配置。从安装前的系统兼容性检查、.NET Framework依赖准备,到图文详解实例配置、混合身份验证模式设置等关键步骤,并提供了安装失败、服务无法启动等高频问题的排查与避坑指南,帮助用户顺利完成部署。

java5的博客 1242

3D Gaussian Splatting:用于实时的辐射场渲染

3D Gaussian Splatting:用于实时的辐射场渲染 3d gaussian splatting for real-time radiance field rendering

m0_51976564的博客 1万+

ZOJ 3946 Highway Project【dijkstra】【贪心】

题目链接http://icpc.moe/onlinejudge/showProblem.do?problemId=5718思路给你一个无向图,每条边有一个时间c和花费d,叫你选一些边,使得点0到其他所有点的时间之和最小,其次,使总花费最小。因为要使得点0到其他所有点的时间之和最小,所以是个最短路问题,用dijkstra找最短路,为了让花费最小,更新距离的时候,如果耗时相等,但新边的花费比旧边少的话,

初涉_代码世界 1601

kali2020.2安装出现的问题并附详细解决办法

kali2020.2的安装

weixin_48776804的博客 3049

zoj 3946 Highway Project

Edward, the emperor of the Marjar Empire, wants to build some bidirectional highways so that he can reach other cities from the capital as fast as possible. Thus, he proposed the highway project.The Ma

ACM__dongsheng的博客 1026

RK3568开发笔记- (TX/RX) RGMII delayline 功能调试

本文详细介绍了RK3568芯片RGMII接口delayline功能的调试过程。针对千兆以太网通信不稳定问题,通过分析RGMII时序要求,利用RK3568内置的delayline功能补偿信号延迟。调试方法包括扫描delayline窗口、测试中间值配置、优化硬件设计等步骤。文章还总结了常见问题解决方案,如PHY选型建议和自动扫描功能配置。最终实现了千兆速率下丢包率降至0.01%以下的目标,为类似开发场景提供了实用参考。

flypig has a dream! 317

外骨骼机器人(二):自适应振荡器

振荡器是一种数学工具,可以用于实时跟踪、预测类周期信号的频率、相位、幅值等,而助行外骨骼机器人需要自动适应人体的行走频率、幅度,两者相结合,就能使助行外骨骼机器人拥有更舒适、更自然的行走步态。 ......

行者无疆的博客 4264

zoj3946 Highway Project

Edward, the emperor of the Marjar Empire, wants to build some bidirectional highways so that he can reach other cities from the capital as fast as possible. Thus, he proposed the highway project. The

zoey的博客 277

15-YOLOV8OBB损失函数详解

在Ultralytics YOLO 模型中,OBB 由YOLO OBB 格式中的四个角点表示。这样可以更准确地检测到物体,因为边界框可以旋转以更好地适应物体。其坐标在 0 和 1 之间归一化:YOLO 在内部处理损失和输出是xywhr 格式,xy表示边界框的中心点、whr表示宽度、高度和旋转角度。

zqb_123的博客 798

【ZOJ - 3946】Highway Project(最短路子图,维护双权值,贪心,最小树形图)

题干: Edward, the emperor of the Marjar Empire, wants to build some bidirectional highways so that he can reach other cities from the capital as fast as possible. Thus, he proposed the highway project....

xuanweiace的博客 755

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Statistics and Machine Learning Toolbox

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

ZOJ3946-Highway Project

Highway Project Time Limit: 2 Seconds      Memory Limit: 65536 KB Edward, the emperor of the Marjar Empire, wants to build some bidirectional highways so that he can reach other cities from th

wang_128的博客 519

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

zoj 3946 Highway Project(优先队列优化dijkstra算法)

Highway Project Time Limit: 2 Seconds      Memory Limit: 65536 KB Edward, the emperor of the Marjar Empire, wants to build some bidirectional highways so that he can reach other cities from the

Com_ice的博客 491

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Highway Project(双条件最短路+最小生成树的感觉,SPFA,外加一个Dijkstra优先队列)

题目链接:ZOJ - 3946 题意:t组输入,n个城市,m条边(1 ≤ N, M ≤ 105),城市有一个首都,编号为0。然后给你m条边,让你建公路,要求花费时间最小,时间相等花费最小。要求输出从0到其他点的总时间和建造公路的总花费。每条路的时间和花费都是1e5的范围。 思路:一看是双条件最短路就直接敲了,但是裸双条件的话会出现一个问题,我们会把一些边重复算。所以就有点像最小生成树了QAQ… ...

C'est la vie! 401

ZJOJ Highway Project 3946(单源最短路+贪心)

大意:有n,m表示n个点,m个边,然后就是m条边的信息,分别是x,y,ti,cost.点xy间的路耗费时间是ti,金钱是cost.因为点和边范围为10^5,所以想到复杂度小的SPFA(O(E)).思路:直接是SPFA边求最短的时间的路,同时求耗费的金钱。但是注意耗费的金钱,cost[]数组不能够存从源点到当前点的耗费,因为若 两条路径时间是相等的,但是一条路是好多节点组成的但是耗费多。但是另一个是

Grit_ICPC的博客 870

ZOJ 3946 Highway Project【spfa】

Highway Project Time Limit: 2 Seconds      Memory Limit: 65536 KB Edward, the emperor of the Marjar Empire, wants to build some bidirectional highways so that he can reach other cities from th

希望的专栏 664

K - Highway Project  ZOJ - 3946 【 SPFA 求最小时间下最小距离】

K - Highway Project ZOJ - 3946 Edward, the emperor of the Marjar Empire, wants to build some bidirectional highways so that he can reach other cities from the capital as fast as possible. Thus, he...

Mercury_Lc的博客 578

Highway Project

注意long long Edward, the emperor of the Marjar Empire, wants to build some bidirectional highways so that he can reach other cities from the capital as fast as possible. Thus, he proposed the highway p...

ujn20161222的博客 353

ZOJ Highway Project(dijkstra&heap&邻接表)

题目链接:146 - The 13th Zhejiang Provincial Collegiate Programming Contest - K Highway Project题意 有n个城市,0是首都,其他编号为1~n-1。 给定m条可以修建的道路,xi, yi, di, ci。表示从x到y需要di秒时间,并且该路需要花费ci$。 现在国王想要一个修建方案,使得他从首都到其他城

YiShi's Blog 3403

zoj3946 Highway Project

K. Highway Project t->测试数据组 n,m->n个点,m条可建边 x,y,d,c->x与y有可以建边,经过此边为d 时间,建边需c费用 #include <bits/stdc++.h> using namespace std;typedef long long ll; const int N=100005; const ll inf=1e12;struct no

u014445884的专栏 578

ZOJ 3946 Highway Project

题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3946 题意:有n个点(编号0~n-1),m条边的一个图,每条边都有权值和搭建这条边所需要的花费。现在从0号点出发,要使得它到其余点的路径和最小,而且在路径和最小的情况下,要求搭建边的花费最少。 思路:首先考虑一个点到其余点最短,可以用dijkstr

DS-K的博客 885

ZOJ - 3946 Highway Project(迪杰斯特拉堆优化)

Edward, the emperor of the Marjar Empire, wants to build some bidirectional highways so that he can reach other cities from the capital as fast as possible. Thus, he proposed the highway project....

dengcuoruan4618的博客 193

迷宫问题 (POJ - 3984 ,BFS + 路径输出)

一.题目链接: POJ-3984 二.题目大意: 给出一个迷宫,输出路径. 三.分析: 初学 bfs 的小伙伴在入坑 bfs 后,终于学会了判断迷宫问题是否能够到达终点。 那么, 现在又迎来了一个新的问题 —— 若迷宫的解唯一, 那么怎样输出迷宫路径呢 ? 比如 poj 3984 迷宫问题 在 AC 之后, 写这篇博客不仅是为了供大家学习,斧正, 更是为了自身的总结, 吸取教训。 ...

The___Flash的博客 1923
上一篇: Number Puzzle (ZOJ - 2836 ,容斥原理)
下一篇: Misere Nim (LightOJ - 1253,最后取石子输的 Nim 博弈)
The___Flash
博客等级 码龄8年 79粉丝 223原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值