hdu 4034 Graph(逆向floyd)

使用boost::make_reverse_graph函数,生成逆向图的测试程序 C++ Boost库中提供了许多实用工具和算法,其中boost::make_reverse_graph函数可以用来生成给定图对象的逆向图。以上就是使用boost::make_reverse_graph函数生成逆向图的快速入门。当然,boost::make_reverse_graph函数还有更多参数和重载形式,可以根据需要进行调整和使用。使用boost::make_reverse_graph函数,生成逆向图的测试程序。 阅读详情

floyd的松弛部分是 g[i][j] = min(g[i][j], g[i][k] + g[k][j]);也就是说,g[i][j] <= g[i][k] + g[k][j] (存在i->j, i->k, k->j的边)。

那么这个题很明显要逆向思考floyd算法。对于新图i,j,k,如果g[i][j] >  g[i][k] + g[k][j],那么肯定是不合理的。而如果g[i][j] =  g[i][k] + g[k][j],明显i->j的边可以删去。

//#pragma comment(linker, "/STACK:1024000000,1024000000")
#include<algorithm>
#include<iostream>
#include<cstring>
#include<fstream>
#include<sstream>
#include<vector>
#include<string>
#include<cstdio>
#include<bitset>
#include<queue>
#include<stack>
#include<cmath>
#include<map>
#include<set>
#define FF(i, a, b) for(int i=a; i<b; i++)
#define FD(i, a, b) for(int i=a; i>=b; i--)
#define REP(i, n) for(int i=0; i<n; i++)
#define CLR(a, b) memset(a, b, sizeof(a))
#define debug puts("**debug**")
#define LL long long
#define PB push_back
#define MP make_pair
#define eps 1e-10
using namespace std;

const int maxn = 111;
int vis[maxn][maxn], g[maxn][maxn];
int n, T;

int reFloyd()
{
    int ret = n*(n-1);
    REP(k, n) REP(i, n) REP(j, n)
    {
        if(!vis[i][j] || !vis[i][k] || !vis[k][j]) continue;
        else if(g[i][j] > g[i][k] + g[k][j]) return -1;
        else if(g[i][j] == g[i][k] + g[k][j])
        {
            vis[i][j] = 0;
            ret--;
        }
    }
    return ret;
}

int main()
{
    scanf("%d", &T);
    FF(kase, 1, T+1)
    {
        scanf("%d", &n);
        REP(i, n) REP(j, n)
        {
            scanf("%d", &g[i][j]);
            vis[i][j] = i == j ? 0 : 1;
        }
        printf("Case %d: ", kase);
        int ans = reFloyd();
        if(ans == -1) puts("impossible");
        else printf("%d\n", ans);
    }
    return 0;
}


SoIC、CoWoS、InFO一次讲透:从2D/2.5D/3D看懂先进封装 先进封装是后摩尔时代提升芯片性能的关键路径,但面对SoIC、CoWoS、InFO这些名词,很多人容易混淆。理解它们,需从最基本的2D、2.5D、3D封装概念入手:2D是传统平房,2.5D通过硅中介层实现高密度互连,3D则让芯片直接堆叠。CoWoS作为2.5D中介层封装,已成为AI芯片与HBM高带宽存储集成的行业标准;SoIC通过铜-铜混合键合实现真正的3D堆叠,为逻辑与缓存提供极致带宽;InFO以扇出型封装兼顾成本与集成度,广泛用于移动SoC。在系统级封装(SiP)和CPO共封装光学等前沿趋势中,这些技术往 阅读详情

相关推荐

利用OTSU阈值算法在ZYNQ上实现浒苔识别

利用OTSU阈值算法进行图像二值化,结果用HDMI显示

qq_38075564的博客 1275

逆向Floyd

Floyd

m0_62866610的博客 480

从零开始:Basler相机与pylon Viewer的工业视觉入门指南

本文详细介绍了Basler相机与pylon Viewer在工业视觉系统中的入门指南,涵盖硬件连接、软件安装、核心功能解析及实战案例。通过pylon Viewer的全面控制和参数调整功能,帮助新手快速掌握工业视觉检测技术,提升生产效率。

julia4scientist的博客 1134

hdu 4034 Floyd

Problem Description Everyone knows how to calculate the shortest path in a directed graph. In fact, the opposite problem is also easy. Given the length of shortest path between each pair of vertexes,...

qq_40859951的博客 212

ARM架构下Horizon Client安装全攻略:从依赖检查到环境变量配置

本文详细介绍了在ARM架构设备上安装VMware Horizon Client的全过程,包括依赖检查、软件包获取、系统部署和环境变量配置。特别针对华为鲲鹏等ARM平台,提供了从基础准备到性能优化的完整指南,帮助用户高效完成虚拟桌面客户端的部署与调优。

github5actions的博客 551

Kill5.37版本下,使用ARMcomplier6编译__asm 函数报错的问题

Kill5-5.37版本下,使用ARMcomplier6编译__asm 函数报错的问题 问题简要描述: 昨日更新了keil5软件的版本,从5.17更新到了5.37版本,然后编译STM32项目文件时,软件提示编译报错。报错问题如下: Build started: Project: QKsoftware *** Using Compiler 'V6.18', folder: 'E:\MDK-ARM\ARM\ARM\ARMCLANG\Bin' Build target 'QKsoftware' compiling

weixin_43644424的博客 1万+

[HDU5452]Minimum Cut

Problem Description Given a simple unweighted graph G(an undirected graph containing no loops nor multiple edges) with n nodes and m edges. Let Tbe a spanning tree of G . We say that a cut in G

UISG103的博客 926

MATLAB锂离子电池伪二维(P2D)模型实现

锂离子电池伪二维(P2D)模型的MATLAB实现。该模型基于Newman等人提出的经典电化学模型,考虑了固液相扩散、电荷守恒和电化学反应动力学。

hie98894的博客 1928

【HDU - 5452 】Minimum Cut (树上差分)

Given a simple unweighted graph G (an undirected graph containing no loops nor multiple edges) with n nodes and m edges. Let T be a spanning tree of G. We say that a cut in G respects T if it cuts j...

Coldfresh的博客 404

Avalonia 超级详细学习指南

什么是 Avalonia?Avalonia 是一个开源的、跨平台的 GUI 框架,允许开发者使用 XAML 和 C# 构建现代化、高性能的桌面应用程序。与其他框架相比,Avalonia 具有强大的跨平台能力和灵活的界面设计。} }()Avalonia 的特点和优势跨平台性:Avalonia 可以在 Windows、Linux、macOS 等多个平台上运行,开发者可以编写一套代码,然后在不同的操作系统上运行相同的应用程序。

仰望星空的博客 1万+

开篇词:学习系统分析师的好处?核心考点有哪些?

系统分析师备考指南 系统分析师是IT行业的高级专业人才,具备系统分析与设计能力,能指导开发团队工作。学习系统分析师不仅能获得职业晋升的"黄金跳板",还能全面提升技术架构思维和业务理解能力。 核心价值: 职业发展:晋升管理岗位的硬性要求,突破职业天花板 能力提升:构建T型知识结构,培养架构思维和软技能 市场竞争力:成为"业务+技术"桥梁,获得国家级专业认证 考试内容: 计算机基础知识(硬件、操作系统、网络等) 系统分析专业知识(软件工程、架构设计等) 进阶知识(企业信息

数据知道的博客 5939

HDU 4034 Graph(Floyd变形——逆向判断)

题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4034 Problem Description Everyone knows how to calculate the shortest path in a directed graph. In fact, the opposite problem is also easy. Give...

aisebu7819的博客 213

【面试系列】软件架构师 高频面试题及详细解答

本文介绍了软件架构师岗位的初级、中级和高级面试题及详细解答,涵盖了系统设计、面向对象设计、分布式系统、云计算技术、性能优化等关键领域。通过这些问题和解答,候选人可以深入理解软件架构师的核心职责和技能要求。此外,文章总结了在面试中需要掌握的常考知识点,包括架构模式、分布式系统管理、安全性、数据管理和DevOps实践。通过掌握这些知识点,软件架构师能够有效设计和指导复杂系统的结构,确保系统的可扩展性、性能和维护性。

在路上的专栏 850

hdu4034 Graph(floyd)

题目: 给出一个图的最短路,求原图最少几条边 Graph Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 65768/65768 K (Java/Others)Total Submission(s): 1695Accepted Submission(s): 848 Problem Description E...

aiezhen1717的博客 235

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Graph HDU - 4034(floyd)

Everyone knows how to calculate the shortest path in a directed graph. In fact, the opposite problem is also easy. Given the length of shortest path between each pair of vertexes, can you find the ori...

tomjobs的博客 378

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

HDU 4034 Graph floyd 最短路

H - Graph Time Limit:1000MS     Memory Limit:65768KB     64bit IO Format:%I64d & %I64u Submit Status Practice HDU 4034 Appoint description:  System Crawler  (2016-05-09) Description

MY Blog 584

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

HDU4034-Graph

Graph                                                                             Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65768/65768 K (Java/Others)

wang_128的博客 296

Graph(Floyd)

http://acm.hdu.edu.cn/showproblem.php?pid=4034 Graph Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 65768/65768 K (Java/Others)Total Submission(s): 2058Accepted Submission(s): 1030 Pro...

weixin_30446613的博客 76

HDU - 3473 Minimum Sum (划分树)

题意: 求出 的最小值。其中x是区间中的任意一个数。 分析: 在划分树中维护前缀和进行计算,因为划分树计算时候保持原始数组的顺序,所以注意区间的起始和结束位置,然后计算即可。 #include<cstdio> #include<algorithm> #include<cstring> using namespace std; const i...

兜率工的博客 221

hdu5452 Minimum Cut(弱数据)

题目 Minimum Cut Problem Description Given a simple unweighted graph G (an undirected graph containing no loops nor multiple edges) with n nodes and m edges. Let T be a spanning tree of G. ...

weixin_30302609的博客 194

dp优化专辑 I - Cut the Tree [树形dp]

浙大的题还有有一定的难度的,看了大牛的解题报告才会~ 思路难想,假如想到了写代码是很快的事 题意: 对一棵树做恰好k次cut操作,每次可以cut一条边,然后丢掉其中一部分而得到一棵新的树。要求最后得到的树的最小和最大权值的和 分析: 比较经典的树形DP

深秋的落叶 844

hdu 4781 Assignment For Princess(构造法)

构造一个n个点,m条有向边的图,需要满足两个要求: 1.任意一对点对之间最多有一条有向边,且没有自环。 2.保证图联通,m条边的边权严格属于[1, m]且互不相同,从任意点出发,经过任意路径后回到起始点,经过的边权总和是3的倍数。 其中第二个要求似乎听上去很玄乎,其实可以一步一步的来:要同时满足1.2的要求,而且输入数据 m >= n + 3,那么也就是说,我们总是能轻松的先构造一个n个点n

diary_yang的专栏 4243

UVA 11613 Acme Corporation(不固定流量的最小费用流)

题意好长。。。。变量好多。。。。 增加源点跟汇点。然后将每个月份看成一个点,然后拆成两个点u 跟 u+n。  从s向每个u连一条的弧,表示最多生产量及价值。 从每个u+n向t连一条的弧,表示最多销量及价值。 对于存放的情况 for(int j=0; j的弧,表示存放所要花费的价值。 这题并不需要满足销量最大,也就是不固定流量的最小费用流,也就是说当s-t增广长度大于0的时候停止增广就行了

diary_yang的专栏 2177

Codeforces 362E Petya and Pipes (费用流)

n个点的网络,可以增加某些弧的容量,最大增加量为K,求增加后的最大流。 要求增大K容量后的最大流,那如果把增加的流量加上费用呢?那题目也就是说,当费用为K的时候,最大流是多少。。。。 把每条边拆成两条边跟,然后求s-t费用流,在费用等于K的时候终止费用流就行了。 #include #include #include #include #include #define REP(i, n) fo

diary_yang的专栏 1907
上一篇: hdu 4063 Aircraft(计算几何+最短路)
下一篇: hdu 4738 Caocao's Bridges(2013杭州网络赛丶神坑)
yang_bro
博客等级 码龄15年 37粉丝 119原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值