Codeforces 1473E Minimum Path 题解 [ 蓝 ] [ 分层图最短路 ] [ 贪心 ] [ 构造 ]

news/2025/11/24 20:02:15/文章来源:https://www.cnblogs.com/zhr0102/p/19265569

Minimum Path

神仙分层图题。

不要考虑原式的实际含义,我们直接对整个式子考虑,设 \(e_{\max}\) 为最大边,\(e_{\min}\) 为最小边:

\[\sum\limits_{i=1}^{k}{w_{e_i}} - \max\limits_{i=1}^{k}{w_{e_i}} + \min\limits_{i=1}^{k}{w_{e_i}} = \sum\limits_{i=1, e_i\ne e_{\max}, e_i\ne e_{\min}}^{k}w_{e_i} + 2 \min\limits_{i=1}^{k}{w_{e_i}} \]

容易发现我们把最大边的权值乘了一个 \(0\) 的系数,而把最小边的权值乘了一个 \(2\) 的系数。

发现当我们强制要求一定要有一条边权值乘 \(\bm 0\),另一条边权值乘 \(\bm 2\),求最短路的时候。我们乘 \(0\) 的一定是最大边,乘 \(2\) 的一定是最小边。

因此考虑建四层分层图

  • 第一层:没有乘 \(0, 2\)
  • 第二层:只乘了 \(0\)
  • 第三层:只乘了 \(2\)
  • 第四层:\(0, 2\) 都乘过了。

跑最短路即可。时间复杂度 \(O(n\log n)\)

#include <bits/stdc++.h>
#define fi first
#define se second
#define eb(x) emplace_back(x)
#define pb(x) push_back(x)
#define lc(x) (tr[x].ls)
#define rc(x) (tr[x].rs)
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
typedef long double ldb;
using pi = pair<int, int>;
using pl = pair<ll, int>;
const int N = 800005;
int n, m;
int getid(int x, int id)
{return (id * n + x);
}
vector<pi> g[N];
void add(int u, int v, int w)
{g[u].push_back({v, w});
}
void addeg(int u, int v, int w)
{g[u].push_back({v, w});g[v].push_back({u, w});
}
ll dis[N];
priority_queue<pl, vector<pl>, greater<pl> > q;
bitset<N> vis;
void Dijkstra()
{memset(dis, 0x3f, sizeof(dis));dis[getid(1, 0)] = 0;q.push({0, getid(1, 0)});while(!q.empty()){pl tmp = q.top();q.pop();int u = tmp.se;if(vis[u]) continue;vis[u] = 1;for(auto eg : g[u]){int v = eg.fi, w = eg.se;if(dis[v] > dis[u] + w){dis[v] = dis[u] + w;q.push({dis[v], v});}}}
}
int main()
{//freopen("sample.in", "r", stdin);//freopen("sample.out", "w", stdout);ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);cin >> n >> m;for(int i = 1; i <= m; i++){int u, v, w;cin >> u >> v >> w;addeg(getid(u, 0), getid(v, 0), w);addeg(getid(u, 1), getid(v, 1), w);addeg(getid(u, 2), getid(v, 2), w);addeg(getid(u, 3), getid(v, 3), w);add(getid(u, 0), getid(v, 1), 0);add(getid(v, 0), getid(u, 1), 0);add(getid(u, 2), getid(v, 3), 0);add(getid(v, 2), getid(u, 3), 0);add(getid(u, 0), getid(v, 2), 2 * w);add(getid(v, 0), getid(u, 2), 2 * w);add(getid(u, 1), getid(v, 3), 2 * w);add(getid(v, 1), getid(u, 3), 2 * w);        add(getid(u, 0), getid(v, 3), w);add(getid(v, 0), getid(u, 3), w);}Dijkstra();for(int i = 2; i <= n; i++) cout << dis[getid(i, 3)] << " ";return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/975248.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AI医疗应用研究项目获奖公布

某中心与加州大学洛杉矶分校联合公布四项AI医疗研究获奖项目,涵盖视网膜病变基因研究、非侵入性脑机接口、癌症地理分布分析和分子药物设计等前沿技术领域。研究项目概述 某中心与加州大学洛杉矶分校通过"人类与…

11.24每日总结

今天主要的课程有软件设计,软件开发案例分析,大数据技术,以及物联网工程,因为不幸感染了新型甲流,请了一周的病假,这周终于开始好转了,起码没有那么难受了,希望痊愈后能尽快补上落下的内容

P25_网络模型的保存与读取

P25_网络模型的保存与读取25.1网络模型的保存 (1)保存方式1:模型结构+模型参数点击查看代码 import torch import torchvision vgg16 = torchvision.models.vgg16(pretrained=False)#保存方式1,模型结构+模型参数 to…

一个复数可以被表示为另一个复数的平方

对于一个复数 \(a + bi\)(\(a,b\in\mathbb{R}\)),它一定能被表示成另一个复数 \(x + yi\)(\(x,y\in\mathbb{R}\))的平方。 对于 \(b = 0\) 的时候,显然 \(a = (\sqrt{a})^2\),这里 \(\sqrt{a}\) 不一定是实数但…

别让你的SQL跑了一整晚,最后只产出一堆数字垃圾

很多技术型分析师只懂跑SQL,不懂业务洞察,导致报告沦为"数字垃圾"。本文分享一个专业AI指令,强制你从"执行摘要"到"行动建议"进行结构化思考,帮你打破"技术思维"的桎梏,…

二分图边着色学习笔记

二分图边着色学习笔记 题解:AT_abc317_g [ABC317G] Rearranging - 洛谷专栏 图 \(G\) 的边染色,是指对于每个边涂一个颜色,要求相邻的边涂不同种颜色,记最小使用颜色数为: \(\chi(G)\) Vizing定理: 对于简单图 \(…

2025年11月四川软电线/硬芯线/家装电线/铝合金电缆/铝芯电缆/铜芯/高压/中压/低压电线电缆供应厂家综合推荐指南:五大优质厂商深度解析

摘要 随着四川地区基础设施建设和新能源产业的快速发展,电线电缆行业在2025年迎来了新的发展机遇。本文基于市场调研和行业数据分析,为您推荐五家优质的四川电线电缆供应厂家,排名不分先后,仅供参考。本文将重点介…

Windwos11终端的作用

https://www.doubao.com/thread/w1a45e576451c3ec5天行建--------君子以自强不惜

2025龙门多片锯厂家有哪些?

2025龙门多片锯厂家有哪些?在木材、石材等材料的批量切割领域,龙门多片锯设备的效率与精度备受关注。以下依据设备结构设计、切割性能及用户反馈,对六家龙门多片锯生产企业进行介绍。1.福建省华隆机械有限公司推荐指…

2025防爆空调品牌厂家推荐:守护危险环境的安全温控选择

2025防爆空调品牌厂家推荐:守护危险环境的安全温控选择。在石油化工、煤矿开采、医药研发、军工制造等存在易燃易爆气体或粉尘的高危场景中,普通空调运行时产生的电火花、高温等极易诱发安全事故,而防爆空调凭借特殊…

2025空调噪声治理厂家精选

2025空调噪声治理厂家精选。空调系统的噪声问题直接影响工作与居住环境的舒适性,专业治理至关重要。Top1:杭州沪宁声学环保科技有限公司关注程度:较高杭州沪宁声学环保科技有限公司在空调系统噪声与振动控制领域具备…

2025精选起重机厂家推荐

2025精选起重机厂家推荐。在工业起重领域,设备的安全性和可靠性是首要考量因素。以下根据设备技术参数、安全性能及用户使用反馈,对六家起重设备生产企业进行介绍。第一名:福建省华隆机械有限公司推荐程度:★★★★…

2025.11.24模拟赛

T1看一会,不会,其实感觉就是一道简单题,需要一点转化,但是没想到怎么转化,就跳了(赛场上也可以多想一会的) T2看一眼,贪心,然后一眼秒了,8:10开写,我就在想,真不会这么简单吧,然后写了一会,果然,哦,有…

热流道厂家品牌有哪些?2025热流道技术哪家强?

随着精密注塑需求在电子、医疗、包装等领域的持续扩张,市场对热流道系统的要求已从 “能用” 转向 “好用、耐用、智能”,这一转变也倒逼热流道厂家加速技术迭代与创新。不同于普通设备制造商,热流道厂家的技术核心…

2025安全生产目视化管理公司有哪些:优质目视化管理机构推荐

2025安全生产目视化管理公司有哪些:优质目视化管理机构推荐!安全生产目视化管理是将安全规范、风险警示、应急流程等信息转化为标准化视觉信号的有效手段,对预防事故、提升现场安全水平具有重要意义。选择一家专业的目…

2025热流道厂家选哪家好?热流道厂家排名实力榜单

在注塑成型行业飞速发展的当下,产品精度、生产效率与成本控制的矛盾日益凸显,而热流道技术作为破解这一难题的关键核心,正成为衡量厂家竞争力的重要标尺。对于热流道厂家而言,技术实力不仅是保障产品质量稳定的基石…

2025外贸独立站哪家公司好?泉州独立站外贸建站公司推荐

作为中国外贸强市,泉州凭借纺织服装、鞋业、建材家居、箱包等优势产业,长期稳居全国外贸百强城市前列。近年来,随着跨境电商的蓬勃发展以及传统 B2B 平台流量成本攀升,越来越多泉州外贸企业意识到:拥有一个专属的…

2025铸铁研磨盘哪家强:球墨铸铁研磨盘生产厂家测评

2025铸铁研磨盘哪家强:球墨铸铁研磨盘生产厂家测评!在工业研磨领域,球墨铸铁研磨盘因其独特的球状石墨结构,展现出较普通铸铁更优的机械性能和耐磨性。选择合适的球墨铸铁研磨盘生产厂家需重点关注以下几个方面:材…

2025移动水肥一体机定做:莱芜水肥一体机厂家有哪些盘点

2025移动水肥一体机定做:莱芜水肥一体机厂家有哪些盘点!随着农业现代化进程加快,移动水肥一体机凭借灵活便捷、适配多种地块的优势,成为大棚种植、果园培育、大田作业等场景的 “得力助手”。莱芜作为山东农业发展的…

矿山机哪家好?2025矿山开采设备厂家推荐

矿山机哪家好?2025矿山开采设备厂家推荐。在矿山资源开采领域,开采设备的可靠性、安全性与作业效率直接影响生产效益。以下根据设备技术特点、工况适应性及用户长期使用反馈,对以下矿山开采设备生产企业进行介绍。第…