洛谷1073 最优贸易

Unity 游戏实例开发集合 之 Car Racing 2D (2D赛车) 休闲小游戏快速实现 Unity 游戏实例开发集合 之 Car Racing 2D (2D赛车) 休闲小游戏快速实现 目录 Unity 游戏实例开发集合 之 Car Racing 2D (2D赛车) 休闲小游戏快速实现 一、简单介绍 二、Car Racing 2D (2D赛车) 游戏内容与操作 三、相关说明 四、游戏代码框架 五、知识点 六、游戏效果预览 七、实现步骤 八、工程源码地址 九、延伸扩展 一、简单介绍 Unity 游戏实例开发集合,使用简单易懂的方式,讲解常见游戏的开发实现过程,方便 阅读详情

原题地址

https://www.luogu.org/problem/show?pid=1073

图论 最短路

解题思路

双向最短路,先正向建边,从1开始跑一遍求最小值,再反向建边,从n开始再跑一遍求最大值(这里不是指路径长度而是最小、最大点权),完了枚举每个节点,求t[i]=max[i]-min[i],所求即为max(t[i])(1<=i<=n)

参考代码

#include<iostream>
#include<algorithm>
#include<cmath>
#include<cstdio>
#include<queue>
#include<cstring>
using namespace std;
queue<int>q;
int num1=0,num2=0,n;
int v1[100010],v2[100010],a[100010];
int maxp[100010],minp[100010];
bool vis[100010];
struct mc
{
     intx,y,ne;
}e[1000010],p[1000010];
 
void put1(int x,int y)
{
     num1++;
     e[num1].x=x;
     e[num1].y=y;
     e[num1].ne=v1[x];
     v1[x]=num1;
}
 
void put2(int x,int y)
{
     num2++;
     p[num2].x=x;
     p[num2].y=y;
     p[num2].ne=v2[x];
     v2[x]=num2;
}
 
void spfa1()
{
   memset(minp,127,sizeof(minp));
     minp[1]=a[1];
     memset(vis,0,sizeof(vis));
     q.push(1);
     vis[1]=1;
     while (!q.empty())
     {
         intx=q.front();
         q.pop();
         for(int i=v1[x];i;i=e[i].ne)
         {
              inty=e[i].y;
              if(minp[x]<minp[y])
              {
                   minp[y]=minp[x];
                   if(minp[y]>a[y])
                     minp[y]=a[y];
              }
              if(!vis[y])
              {
                   q.push(y);
                   vis[y]=1;
              }
         }
    }
   
}
 
void spfa2()
{
   memset(maxp,0,sizeof(maxp));
     maxp[n]=a[n];
     memset(vis,0,sizeof(vis));
     q.push(n);
     vis[n]=1;
     while(!q.empty())
     {
         intx=q.front();
         q.pop();
         for(int i=v2[x];i;i=p[i].ne)
         {
              inty=p[i].y;
              if(maxp[y]<maxp[x])
              {
                   maxp[y]=maxp[x];
                   if(maxp[y]<a[y]) maxp[y]=a[y];
              }
              if(!vis[y])
              {
                   q.push(y);
                   vis[y]=1;
              }
         }
    }
}
 
int main()
{
     ios::sync_with_stdio(false);
     int m;
     cin>>n>>m;
     for(int i=1;i<=n;i++)
         cin>>a[i];
     intx,y,z;
     for(int i=1;i<=m;i++)
     {
         cin>>x>>y>>z;
         if(z==1)
         {
              put1(x,y);
              put2(y,x);
         }
         if(z==2)
         {
              put1(x,y);
              put1(y,x);
              put2(x,y);
              put2(y,x);
         }
     }
     spfa1();
        
     spfa2(); 
     intans=0;
     for(int i=1;i<=n;i++)
         if(maxp[i]-minp[i]>ans) ans=maxp[i]-minp[i];
     cout<<ans;
     return0;
}


8-阿里云服务器 ECS配置R及Studio Server 步骤概览:(首先要明确自己的系统然后进行安装) 阅读详情

相关推荐

STLink驱动安装全攻略:从卸载到Keil配置的完整避坑指南

本文提供了STLink驱动安装与Keil环境配置的完整避坑指南。详细讲解了从驱动卸载、重装到Keil调试器设置的每一步,并针对常见的设备无法识别、连接不稳定等问题给出了深度解决方案,帮助开发者快速搭建稳定的STM32开发环境。

weixin_29182481的博客 424

洛谷 P1073 最优贸易

1.分析 这道题目做法有很多,作为一个初学者,还是用深搜来解答。上课老师提示过有两个剪枝条件 最小价格没有改变则退出 最大利润没有改变则退出 所以在写深搜的时候,需要记录一下最小价格和最大利润。 洛谷的题解第一名采取了深搜加动态规划的方式,他的DP思路和我们老师上课提示过的很相似。只不过他的代码中,记录最大利润的数组、记录最小价格的数组都可以被优化掉 ,虽然算法题不需要考虑空间复杂度。 2.AC代码 #include <iostream> #include <algorithm>

yonchicy的博客 259

TM1621/HT1621 段码LCD驱动器

TM1621 LCD 驱动器

qq_45325304的博客 1万+

【洛谷】P1073 [NOIP2009 提高组] 最优贸易(dp+搜索)

浅浅的记录一下今天AC的绿题吧~太牛了大佬们

m0_74969835的博客 418

【ROS】ROS局域网下多机通讯方法

最近工作中需要用到多机通讯,这里稍微总结一下使用方法。一、网络配置ifconfig这里举个例子,主机的IP地址为192.168.1.127,从机的IP地址为192.168.1.126;之后可测试一下能否互相ping通,成功后进行下一步。

weixin_43326110的博客 3360

基于的公司考勤系统(程序+开题报告)(开题报告+源码)

我们将研究和设计系统的架构和功能模块,包括员工信息管理模块、部门信息管理模块、考勤信息记录模块、工资信息计算模块、请假信息处理模块、奖惩信息管理模块、公告信息发布模块、上班打卡模块以及加班申请模块等。目的: 本项目旨在设计并实现一个基于的公司考勤系统,通过该系统,可以实现对员工、部门信息、考勤信息、工资信息、请假信息、奖惩信息、公告信息、上班打卡、加班申请等功能的统一管理。基于的公司考勤系统的设计与实现,旨在通过自动化技术提高考勤管理的效率和准确性,为企业管理提供有力的数据支持。最终成品以下面运行环境。

迟限程序设计 997

洛谷 P1073 [NOIP2009 提高组] 最优贸易 【分层图最短路】

题目链接 题意: 给出一个由无向边和有向边构成的 n 个结点的图,起点为1,终点为n,你可以在某个结点 iii 花费 ViV_iVi​ 买入物品,再另一个结点 jjj 卖出得到 VjV_jVj​,这种操作只能进行一次,求最大利益 题解: 第一层是原图,第二层是买入后的图,第三层是卖出后的图,第一层 iii 连接到第二层 i+ni+ni+n ,边权 −Vi-V_i−Vi​,第二层 i+ni+ni+n 连接到第三层 i+2∗ni+2*ni+2∗n ,边权 ViV_iVi​,求 1 到 3*n 的最长路就好了 #

qq_50554695的博客 284

Python遥感图像处理指南(2)-卫星影像分析MNDWI提取

在第一篇文章中,我们使用了我们导入的软件包中已定义的函数,如 rasterio 中的 open 和 read 以及 matplotlib 中的 imshow。现在,我们可以编写自己的函数了。函数是一段代码,它接收一些参数作为输入并返回输出(经过一些计算),可以在代码中多次重复使用,也可以被其他代码重用。在 Python 中定义一个新函数非常简单。return v在此语法示例中,arg1和arg2强制参数,应该传递给函数,否则会引发错误,而arg3是一个可选参数,如果是,则假定默认值 1从函数调用中省略。

gis收藏家的博客 1575

洛谷-1073 最优贸易

题目大意 有n个城市,m条道路,这些道路有的是双向的,有的是单向的,每个点都有一个值,可以买入,也可以卖出,买入和卖出的价格都是这个数,求最大值。(可以不买入,价值为0) 思路 建一个反图,用spfa算法执行两次,分别求每个点买入的最小值和卖出的最大值,再一个循环过去,求每个点对应的卖出最大值减去买入最小值,取最大值。 代码 // luogu-judger-enable-o2 忽

Ajwallet 645

Windows 上安装 OpenCode 完全指南:从零到成功,人人能看懂!

跟着这篇教程,你应该已经成功在 Windows 上安装并运行了 OpenCode。步骤操作要点1安装 Chocolatey必须以管理员身份运行 PowerShell2安装 OpenCode3验证安装关闭并重新打开终端,输入4进入项目目录必须是 Git 仓库(git init5配置模型输入/connect,输入 API Key6开始使用输入问题测试最后的小建议如果没有 API Key,可以从 DeepSeek 或 Kimi 开始,有免费额度初次使用建议先在简单项目上测试。

专注于编程、AI、人工智能等多个领域内容研究和分析 3880

【同等学力】2005-数学⭐✨

有r个正方形排成一行,今用红、黄、白、蓝四种颜色给这个r个正方形染色,每个正方形只能染一种颜色,如果要求染红、黄、白色的正方形分别至少出现一个,问有多少种不同的染法?3、(4分)设G是一个有n个结点m条边的连通简单平面图,若n≥3,则m≤3n-6.4、(4分)证明:任何连通简单平面图至少有一个结点的度数不超过5

super_mochi1 305

NOIP2009 最优贸易

最优贸易 题目描述Description C 国有 n 个大城市和 m 条道路,每条道路连接这 n 个城市中的某两个城市。任意两个城市之间最多只有一条道路直接相连。这 m 条道路中有一部分为单向通行的道路,一部分为双向通行的道路,双向通行的道路在统计条数时也计为 1 条。C 国幅员辽阔,各地的资源分布情况各不相同,这就导致了同一种商品在不同城市的价格不一定相同。但是,同...

weixin_30372371的博客 285

PhotovoltaicPanelCleanlinessDetector:基于YOLOv8的光伏板清洁状态监测系统

data.yamlyaml复制编辑names:0: clean1: dust3: leaves4: shadow✅ 高精度污染识别✅ 具备实时检测与UI展示✅ 可本地化部署应用未来方向增加污染程度分级(轻度、中度、严重)加入时间序列分析(污染变化趋势预测)无人机集成巡检模块。

YOLO 275

洛谷p1073 最优贸易

洛谷p1073 最优贸易 原题传送门 题目描述 CCC国有nnn个大城市和mmm 条道路,每条道路连接这 nnn个城市中的某两个城市。任意两个城市之间最多只有一条道路直接相连。这 mmm 条道路中有一部分为单向通行的道路,一部分为双向通行的道路,双向通行的道路在统计条数时也计为 111条。 CCC国幅员辽阔,各地的资源分布情况各不相同,这就导致了同一种商品在不同城市的价格不一定相同。但是,同一种商品在同一个城市的买入价和卖出价始终是相同的。 商人阿龙来到 CCC 国旅游。当他得知同一种商品在不同城市的价格可

qq_43324834的博客 361

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

洛谷 P1073 最优贸易 题解

最优贸易 题目 洛谷1073 C国有 nnn 个大城市和 mmm 条道路,每条道路连接这 nnn 个城市中的某两个城市。任意两个城市之间最多只有一条道路直接相连。这 mmm 条道路中有一部分为单向通行的道路,一部分为双向通行的道路,双向通行的道路在统计条数时也计为1条。 CCC 国幅员辽阔,各地的资源分布情况各不相同,这就导致了同一种商品在不同城市的价格不一定相同。但是,同一种商品在同一个城市的买...

Y的博客 1013

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

洛谷 P1073 最优贸易 分层图状态转移 spfa 最长路

题目链接: https://www.luogu.org/problem/P1073 思想: 1:新的概念:分层图 2:参考博客:https://www.luogu.org/blog/user15019/solution-p1073,特别特别推荐,详细了解分层图的原理就从精读这一个博客开始 思路: 1:读完这道题,可以发现这样的事实: 1:你可以在图上任意走动 ...

aiwo1376301646的博客 315

android 蓝牙通讯demo

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

洛谷——P1073 最优贸易

P1073 最优贸易 n 个城市间以 m 条有向道路连接, 小 T 从 1 号城市出发, 将要去往 n 号城市.小 T 观察到一款商品 Z 在不同的城市的价格可能不尽相同,小 T 想要在旅行中的某一个城市购买一件商品 Z, 在另一个城市卖出. 因为旅途劳顿, 这种买卖小 T 只打算做一次.请问小 T 能够获得的最大收益是多少? 求点$1$到所有点的最小值,再从$n$出发判断所...

weixin_30376453的博客 136

洛谷P1073 [NOIP 2009 提高组] 最优贸易

阿龙通过这样的贸易方式赚取旅费:他会选择一个经过的城市买入他最喜欢的商品――水晶球,并在之后经过的另一个城市卖出这个水晶球,用赚取的差价当做旅费。当他得知同一种商品在不同城市的价格可能会不同这一信息之后,便决定在旅游的同时,利用商品在不同城市中的差价赚回一点旅费。个大城市,城市的编号和道路连接情况如下图,单向箭头表示这条道路为单向通行,双向箭头表示这条道路为双向通行。那显然同一层之间的距离为0,跨层的距离为他们的花费,买入为负,卖出为正。的数据,不存在一条旅游路线,可以从一个城市出发,再回到这个城市。

yjfyjfyjf54188的博客 669

洛谷 P1073 最优贸易(图论)

题意 求出从图上节点1到N(N≤105)N(N \leq 10^5)N(N≤105)所经过的路径中,差价最大的点对,其中高价的点对必须在低价点对的前面(高点到低点有一条正向路径在1到N的路径上)。 解题思路 要求的点必须在路径上,那么我就想到用拓扑排序去做,但是因为这个图可能会有环,所以需要用强连通分量缩点。缩点以后求出每个连通分量的最高价和最低价,再利用DP求出路径中最高价和后面的最低价之间差的...

u013738000的博客 232

洛谷P1073 最优贸易【SPFA】

&amp;gt;Description C国有 n个大城市和m 条道路,每条道路连接这 n个城市中的某两个城市。任意两个城市之间最多只有一条道路直接相连。这 m 条道路中有一部分为单向通行的道路,一部分为双向通行的道路,双向通行的道路在统计条数时也计为 1条。 同一种商品在不同城市的价格不一定相同。但是,同一种商品在同一个城市的买入价和卖出价始终是相同的。 他决定利用商品在不同城市中的差价赚回一点旅费。设...

//(^ o ^)// 282

洛谷-题解 P1073最优贸易

https://www.luogu.org/problemnew/show/P1073 2009年提高组t3,用了$spfa$ 相对于普通的$spfa$也就更新最优解时有点不一样 注意:对于环没有必要判断,反正环不会让答案不断更新 1 #include<cstdio> 2 #include<iostream> 3 #include<cmath&g...

weixin_30706507的博客 179

[NOIP2009] 提高组 洛谷P1073 最优贸易

题目描述 C 国有 n 个大城市和 m 条道路,每条道路连接这 n 个城市中的某两个城市。任意两个 城市之间最多只有一条道路直接相连。这 m 条道路中有一部分为单向通行的道路,一部分 为双向通行的道路,双向通行的道路在统计条数时也计为 1 条。 C 国幅员辽阔,各地的资源分布情况各不相同,这就导致了同一种商品在不同城市的价 格不一定相同。但是,同一种商品在同一个城市的买入...

dezhen7015的博客 194
上一篇: 洛谷2296 寻找道路
下一篇: 洛谷2661 信息传递
zero_from
博客等级 码龄10年 11粉丝 61原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值