首页 > 其他分享 >单/全最短路专题 两题

单/全最短路专题 两题

时间:2024-07-09 18:30:33浏览次数:13  
标签:专题 dist int 短路 long vis tail tie

Greg and Graph (Floyd)

题意:

Greg 有一个n个点 是一个有边权的有向图 这个图两个点都有不一样的边(也就意味着 a -> b 和 b -> a的权值是不一样的)

每次操作都会删除一个点,让这个点和其他和它有关系的点都删除.对于每次删除操作,输出操作以前的最短路径之和

思路:

这一题的思路其实与很早之前的并查集删点一样,其实这就是反向加边,通过离线的操作求出最终的答案

#include<bits/stdc++.h>
    
using namespace std;
typedef long long ll;
const int N = 5e2 + 5;
int dist[N][N], n, x[N]; 
ll ans[N];
bitset <N> vis; 

int main() {
    ios::sync_with_stdio(false);
    cin.tie(0); cout.tie(0);
    int n; cin >> n; 
    for (int i = 1; i <= n; i++) {
        for (int j = 1; j <= n; j++) {
            cin >> dist[i][j];
        }
    } 
    for (int i = 1; i <= n; i++) {
        cin >> x[i]; vis[x[i]] = 1;
    }  
    
    for (int tail = n; tail >= 1; tail--) {
        int k = x[tail];
        vis[k] = 0;
        for (int i = 1; i <= n; i++) {
            for (int j = 1; j <= n; j++) {
                if (i == j) continue;
                dist[i][j] = min(dist[i][j], dist[i][k] + dist[k][j]);
                if (!vis[i] && !vis[j]) ans[tail] += dist[i][j];
            }
        }
    } 
    for (int i = 1; i <= n; i++) {
        cout << ans[i] << " \n"[i == n];
    } 
    return 0;
} 

  

标签:专题,dist,int,短路,long,vis,tail,tie
From: https://www.cnblogs.com/youhualiuh/p/18292528

相关文章

  • 【K8s】专题六(5):Kubernetes 稳定性之重启策略、滚动更新策略
    以下内容均来自个人笔记并重新梳理,如有错误欢迎指正!如果对您有帮助,烦请点赞、关注、转发!欢迎扫码关注个人公众号!目录一、重启策略1、基本介绍2、资源清单(示例)二、滚动更新策略1、基本介绍2、资源清单(示例)3、主要优点一、重启策略1、基本介绍重启策略(RestartPoli......
  • 时间序列分析专题——利用SPSS专家建模器进行建模
    SPSS的专家建模器可以自动识别数据,给出最适合的模型,本章通过三个例题介绍如何使用SPSS实现时间序列分析。由于本人对时间序列分析的理解尚浅,做出模型后在论文上的呈现形式需要取查阅资料,以便更好地在论文上呈现在此之前,我们还需要了解时间序列分析的一些基础的名词目录一、名词......
  • 06-6.4.2 最短路径问题
    ......
  • 时间序列分析专题——指数平滑模型
    指数平滑法模型,分为季节性模型和非季节性模型。季节性模型只有在为活动数据集定义了周期时才可用。本章只理论性地介绍这六种指数平滑法模型,让学习者在论文的应用中有话可写。在具体实现中,SPSS会自动识别并给定一种最好的模型。目录一、简单指数平滑法1.模型介绍2.关于平滑系数......
  • 时间序列分析专题——时间序列分解
    接下来的几章我们会介绍时间序列分析模型,本章我们先来对时间序列概念进行介绍,并进行最初步的时间序列分解时间序列分析大致可分成三大部分,分别是描述过去、分析规律和预测未来目录一、基础名词解释1.时间序列数据2.时间序列的要素与类别(1)时间要素(2)数值要素(3)时期序列与时点序列二......
  • 【专题】2024年6月数字化行业报告合集汇总PDF分享(附原数据表)
    原文链接:https://tecdat.cn/?p=36658原文出处:拓端数据部落公众号随着科技的飞速发展和全球数字化进程的加速推进,我们正处在一个充满变革与机遇的时代。从人工智能的深入应用到工业互联网的蓬勃发展,从智慧医疗的兴起到新能源汽车的普及,每一个领域都在经历着前所未有的转型与升级......
  • MQTT专题
    什么是MqttMQTT协议 全称是(MessageQueuingTelemetryTransport),即消息队列遥测传输协议。是一种基于发布/订阅(Publish/Subscribe)模式的轻量级通讯协议,并且该协议构建于TCP/IP协议之上,我们知道TCP协议本身就具有高可靠性的特点,因此基于其上的MQTT协议同样也是具有高可靠、低开......
  • JVM专题之G1垃圾收集器上
    JDK8为什么不用CMS做为默认垃圾收集器呢1.CMS单线程或者双线程情况下效率很低2.CMS会并发失败3.CMS可中止的预处理会导致极限5S停顿4.并发失败进入foregroud还会导致进入FullGC,全局MSC整理5.CMS吞吐的设计并不是很优秀G1的目的:GarbageFirst,也就是垃圾优先原则,也就......
  • JVM专题之G1垃圾收集器下
    索引(记录)的源码的工作流程图如下:CSet(CollectionSet回收集合)收集集合(CSet)代表每次GC暂停时回收的一系列目标分区。在任意一次收集暂停中,CSet所有分区都会被释放,内部存活的对象都会被转移到分配的空闲分区中。因此无论是年轻代收集,还是混合收集,工作的机制都是一致的。年轻......
  • Leetcode秋招冲刺(专题13--15)
    专题13:广度优先搜索题目559:N叉树的最大深度(YES)解题思路:使用广度优先搜索,广度优先搜索的核心就是使用队列queue存储每个根节点,然后再存储孩子节点。给定一个N叉树,找到其最大深度。最大深度是指从根节点到最远叶子节点的最长路径上的节点总数。N叉树输入按层序遍历序......