【Atcoder】ARC083 D - Restoring Road Network
【算法】图论,最短路?
【题意】原图为无向连通图,现给定原图的最短路矩阵,求原图最小边权和,n<=300。
【题解】要求最小边权和下,原图的所有边一定是所连两端点的最短路。
那么现在将所有最短路作为边加入原图,考虑删边。
对于(u,v),若存在点w使得(u,v)=(u,w)+(w,v),则(u,v)可以删去。(btw,若是>则无解)
复杂度O(n^3)。
#include<cstdio> #include<cstring> #include<cctype> #include<cmath> #include<algorithm> #define ll long long using namespace std; int read(){char c;int s=0,t=1;while(!isdigit(c=getchar()))if(c=='-')t=-1;do{s=s*10+c-'0';}while(isdigit(c=getchar()));return s*t; } /*------------------------------------------------------------*/ const int inf=0x3f3f3f3f,maxn=310;int n,map[maxn][maxn],f[maxn][maxn];int abs(int x){return x>0?x:-x;} int main(){n=read();for(int i=1;i<=n;i++)for(int j=1;j<=n;j++)map[i][j]=read(),f[i][j]=map[i][j];bool ok=1;for(int i=1;i<n;i++){for(int j=i+1;j<=n;j++){for(int k=1;k<=n;k++)if(i!=k&&j!=k){if(map[i][j]>map[i][k]+map[k][j])ok=0;if(map[i][j]==map[i][k]+map[k][j])f[i][j]=f[j][i]=0;}}}long long ans=0;for(int i=1;i<=n;i++)for(int j=1;j<=n;j++)ans+=f[i][j];if(ok)printf("%lld",ans/2);else printf("-1");return 0; }
View Code
转载于:https://www.cnblogs.com/onioncyc/p/7535216.html
【Atcoder】ARC083 D - Restoring Road Network相关推荐
- Restoring Road Network(弗洛伊德算法的使用)
Restoring Road Network(中石油6610) 弗洛伊德算法的使用. 代码: #include <iostream> using namespace std; const ...
- Restoring Road Network 反证最短路
问题 C: Restoring Road Network 时间限制: 1 Sec 内存限制: 128 MB 提交: 438 解决: 89 [提交] [状态] [讨论版] [命题人:admin] 题 ...
- 【GANs】Deep Convolution Generative Adversarial Network
[GANs]Deep Convolution Generative Adversarial Network 3 DCGAN 3.1 简介 3.2 DGGAN实现 3 DCGAN Unsupervise ...
- Restoring Road Network
问题 C: Restoring Road Network 时间限制: 1 Sec 内存限制: 128 MB 提交: 981 解决: 220 [提交] [状态] [讨论版] [命题人:admin] ...
- 【AtCoder】ARC 081 E - Don't Be a Subsequence
[题意]给定长度为n(<=2*10^5)的字符串,求最短的字典序最小的非子序列字符串. http://arc081.contest.atcoder.jp/tasks/arc081_c [算法]字 ...
- 【SFace】《SFace: An Efficient Network for Face Detection in Large Scale Variations》
arXiv-2018 文章目录 1 Background and Motivation 2 Advantages / Contributions 3 Method 3.1 Feature Pyrami ...
- 【ConfluxNews】2023.2.23 Conflux Network 与 Alchemy Pay 达成合作
1.[网络状态]当前版本V2.2.1-fixpos,全网算力≈14T,昨日交易次数51K,昨日新增账户2.81K,昨日新增合约6个: 2.[POS参数]总锁仓187M(-5),节点总数250,年利率1 ...
- 【AtCoder】ARC095 E - Symmetric Grid 模拟
[题目]E - Symmetric Grid [题意]给定n*m的小写字母矩阵,求是否能通过若干行互换和列互换使得矩阵中心对称.n,m<=12. [算法]模拟 [题解]首先行列操作独立,如果已确 ...
- 【atcoder】Enclosed Points [abc136F]
题目传送门:https://atcoder.jp/contests/abc136/tasks/abc136_f 题目大意:在平面上有$n$个点我们,定义一个点集的权值为平面上包含这个点集的最小矩形所包 ...
最新文章
- 设计模式之【抽象工厂模式】
- 【Clickhouse】问题记录
- Color the ball HDU - 1556 (线段树)
- 中国自研数据库拿下世界第一,背后这十年都经历了什么?
- “pip不是内部或外部命令,也不是可运行的程序或批处理文件” 到底有多么神秘
- 前端 页面无刷新方案一
- 浅谈WebService的版本兼容性设计
- 地址转换函数(点分十进制与网络字节序的二进制)
- 计算机键盘怎样做除法,电脑键盘除法是哪个键?
- c语言选择结构程序设计实验总结,C语言程序设计,选择结构程序设计实验
- SQL常用基础参考语句
- 重温张欣穗购书衷心与申霞艳,张鸿等名师座谈《千万与春住》二零一九年六月二十四日
- python程序设计与案例教程王小银_《Python程序设计与案例教程》王小银著【摘要 书评 在线阅读】-苏宁易购图书...
- torch.bmm() 与 torch.matmul()
- KEIL软件错误代码及错误信息
- 对计算机的认识与感想
- 如果说,人生是一次不断选择的旅程,那么当千帆阅尽,最终留下的就是一片属于自己的,独一无二的风景。
- MADA DAMD
- 利用Verilog计算IQ信号相位的一种方法
- 计算机网络基础面试题笔记
热门文章
- mongodb数据合并设计_MongoDB:如何将来自多个集合的数据合并成一个.?
- Spark任务提交源码
- Flutter开发之JSON及序列化(29)
- Windows下安装Python扩展模块提示“Unable to find vcvarsall.bat”的问题(转载)
- 尺取法 || emmmm
- netty使用从0到1
- 同一个IP不同端口号使用session失效
- A Bug's Life(向量偏移)
- 【狼】unity3d point light 个数限制更改
- (转)测测你是否有搜索引擎依赖症