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

通过分层图解决洛谷P1073最优贸易问题,利用SPFA算法求解最长路径。构建包含买入、卖出操作的三层图,确保每个决策仅执行一次,从而找到最大利润路径。
摘要由CSDN通过智能技术生成

题目链接:

https://www.luogu.org/problem/P1073

思想:

1:新的概念:分层图

2:参考博客:https://www.luogu.org/blog/user15019/solution-p1073,特别特别推荐,详细了解分层图的原理就从精读这一个博客开始

思路:

1:读完这道题,可以发现这样的事实:

      1:你可以在图上任意走动

      2:最终答案只与你的买入与卖出价格有关(我们就把买入卖出价值作为边权)

      3:如果你买入了一个水晶球,你是没有不卖它的道理的(显然咯,买了不卖血亏...)

2:分层图可以很好的解决这个问题:由于可以任意走动,所以我们可以建一张图,令图上的边全都是0,表示我的走动对我最终的结果没有影响,考虑某个点 i ,它买入或者卖出水晶球的花费是v[i]

3:那么 当我们进行买入操作,我们就建立一条有向边转移到一张新图上,边的大小为-v[i],指向点i所能到达的点(在第二层图上)而这张新图就是我们的第二层图,它表示:假如我选择走了这条边,就是我在这个点买

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值