首页 > 其他分享 >P6464 [传智杯 #2 决赛] 传送门

P6464 [传智杯 #2 决赛] 传送门

时间:2023-09-14 21:23:02浏览次数:45  
标签:传智杯 101 floyed 传送门 int include P6464

link

首先我们要明白,floyed的本质上是一个dp,那么显然我们要先跑一边floyed,然后进行更新

当我们更新的两个点之间的距离的时候,显然我们改变的是和它们有关的距离,所以只要更新这两个边就可以了.

#include<cstdio>
#include<iostream>
#include<cstring>
#include<algorithm>
#include<cmath>
#include<queue>
#include<stack>
#include<set>
#include<map>
#include<ctime>
#include<bitset>
using namespace std;
int n,m;
int x,y,w;
int ans=99999999999;
int g[101][101];
int f[101][101];
int tem;
void ini(){
	for(int i=1;i<=n;++i){
		for(int j=1;j<=n;++j){
			f[i][j]=g[i][j];
		}
	}
	tem=0;
}
int main(){
	scanf("%d%d",&n,&m);
	memset(g,0x3f,sizeof(g));
	for(int i=1;i<=m;++i){
		scanf("%d%d%d",&x,&y,&w);
		g[x][y]=g[y][x]=w;
	}
	for(int i=1;i<=n;++i){
		g[i][i]=0;
	}
	for(int i=1;i<=n;++i){
		for(int j=1;j<=n;++j){
			for(int k=1;k<=n;++k){
				g[j][k]=min(g[j][k],g[j][i]+g[i][k]);
			}
		}
	}
	for(int i=1;i<=n;++i){
		for(int j=1;j<=n;++j){
			f[i][j]=g[i][j];
		}
	}
	for(int i=1;i<=n;++i){
		for(int j=1;j<i;++j){
			ini();
			f[i][j]=f[j][i]=0;
			for(int k=1;k<=n;++k){
				for(int z=1;z<=n;++z){
					f[k][z]=min(f[k][z],f[k][i]+f[i][z]);
				}
			}
			for(int k=1;k<=n;++k){
				for(int z=1;z<=n;++z){
					f[k][z]=min(f[k][z],f[k][j]+f[j][z]);
				}
			}
			for(int k=1;k<=n;++k){
				for(int z=1;z<k;++z){
					tem+=f[k][z];
				}
			}
			ans=min(ans,tem);
		}
	}
	cout<<ans;
	return 0;
}

标签:传智杯,101,floyed,传送门,int,include,P6464
From: https://www.cnblogs.com/For-Miku/p/17703474.html

相关文章

  • 仙境传说RO:添加地图传送门教程
    仙境传说RO:添加地图传送门教程大家好我是艾西,上一篇文章中我跟大家分享了仙境传说RO怎么添加NPC,NPC可以加入自己想要售卖的装备物品等。那么对于玩家跑地图需要手动跑肯定是不方便的毕竟大家玩游戏就是为了娱乐以及放松,那么今天艾西教大家怎么在仙境传说服务端添加地图传送门。地图......
  • 【猫带你上云】整套系列文章 - - - 传送门
    【猫带你上云】整套系列文章以及相关文章索引前言【猫带你上云】整套系列文章会非常多,为了便于大家查找阅读,因此在这里置顶这篇索引JAVA上云系列前端上云系列Python上云系列......
  • 洛谷P7492 [传智杯 #3 决赛] 序列 题解 数列分块
    题目链接:https://www.luogu.com.cn/problem/P7492解题思路:分块。解题思路全部来自yzy1大佬的博客额外掌握技能:编译时加入-Wall参数。示例程序:#include<bits/stdc++.h>usingnamespacestd;constintmaxn=1e5+5;intn,m,blo,//n表示数列长度,m表......
  • P8822 [传智杯#3 初赛] 课程报名 题解
    题目传送门题目大意有一种课程,初始定价为\(v\)元;每报名\(m\)个学员,课程的定价就要提升\(a\)元,一共有\(n\)个学员报名。解题思路因为一共有\(n\)个学员报名,所......
  • P8827 [传智杯 #3 初赛] 森林 题解
    题意有一颗树,每个点有一个点权\(v\)。现在要对这棵树进行\(m\)次以下三种操作之一:删除一条边。修改一个点的点权。查询一个点\(u\)所在的树的点权之和。......
  • 传送门
    1.OpenAI教程-mandalalala-博客园(cnblogs.com)2..Net6微服务之Polly入门看这篇就够了-Mamba24⁸-博客园(cnblogs.com)......
  • 洛谷P8838 [传智杯 #3 决赛] 面试(害 刚开始,没想到用dfs 呜呜呜)
    这道题其实不算难,但是我没有想到用dfs,害,,难受。其次这个题,我看了大佬的代码,找到答案后直接exit(0),直接退出,而不是利用return一层层返回。其实这个题就是利用dfs求出每种......
  • Docker&K8S传送门
    ​​第一章——Docker(已熟悉的可以从第二章开始)​​​​​第二章——企业部署实战_K8S​​​​​第三章——k8s集群​​​​​第四章——dashboard插件及k8s实战交付​​​......
  • [传智杯 #5 初赛] E-梅莉的市场经济学
    [传智杯#5初赛]E-梅莉的市场经济学题目背景梅莉这个学期选修了经济学。但是主修心理学的她实在不擅长经济领域的分析,为此她时常抱怨自己学不会,想退课。但是如果现在......
  • 欢聚招人啦——内推传送门
    招人啦欢聚招人啦~~全国各地岗位都有在招。可内推所有在招岗位。当然除了技术类,还有产品、运营、设计类等,具体可联系。说明通过我的入口内推投递简历有什么好处呢?简历优先处......