NOIP 集训 day3 图论1

news/2025/11/25 22:56:35/文章来源:https://www.cnblogs.com/XiaoQuQu/p/19270372

MST 相关

知识点:

  • Kruskal
  • Prim
  • Kruskal 重构树

洛谷 P4768 [NOI2018] 归程

经典题。先对海拔建出 kruskal 重构树,然后从起点开始通过海拔 \(>p\) 的点可达的所有点就是一个 \(v\) 的一个祖先(深度最小的满足海拔 \(>p\) 的点)的子树。然后接下来就要步行,提前预处理出每个点到 \(1\) 的最短路,相当于是一个不带修的子树查 \(\min\),于是就做完了。

CF1508C Complete the MST

高难度题。没看懂。

CF1515F Phoenix and Earthquake

  • \(n\)个城市, 有\(m\)条道路, 由于地震全部损坏了, 修复一条道路需要\(x\)吨沥青, 即这条道路的两个城市总共需要至少有\(x\)吨沥青。
  • 初始第\(i\)个城市有\(a_i\)吨沥青, 问是否存在一种方案使得修完之后所有城市连通, 并构造方案。

考虑如果所有 \(a_i\) 的和 \(<(n-1)x\),那么肯定不可能构造出一组合法方案。

否则一定会有解,归纳法证明如下:

  • 如果存在一个 \(a_i\ge x\),那么直接将他与任意一个邻居合并,就变成了 \(n-1\) 的情况。
  • 否则,如果不存在 \(a_i\ge x\),那么任意两个相邻的点 \(a_i+a_j\) 都要 \(\ge x\)。否则,我们从 \(\sum a_i\) 中把这两个点给删掉,剩下的 \(n-2\) 个点的 \(a_i\) 之和要大于 \((n-2)x\),但是每个点的权值又 \(<x\),所以矛盾。

构造方案即用一个堆维护当前 \(a_i\) 最大的点。然后用并查集判断连通性即可。

最短路相关

  • Dijstkra
  • SPFA, BellmanFord
    • 维护一个队列,每次用队列的点松弛所有相邻的点,如果松弛成功就加入队列。
    • 当一个点出队 \(n+1\) 次,说明有负环。
  • Floyd

线段树优化建图

以前一直听说,但是现在才学。

例题:CF786B Legacy

一个 \(n\) 个点的有向图,初始没有边,有三种加边操作:

  • 加边 \((u,v,w)\)
  • 对于所有 \(v\in[l,r]\) 加边 \((u,v,w)\)
  • 对于所有 \(u\in [l,r]\) 加边 \((u,v,w)\)

在加完所有边之后,问给定的起点到每个点的最短路。\(n,q\le 10^5\)

首先,我们把每个点 \(x\) 拆成 \(x_{in}\)\(x_{out}\),这是为了方便线段树优化建图。然后每个点 \(x_{in}\)\(x_{out}\) 连一条边权为 \(0\) 的边。

然后,如果我们暴力对于一个区间建边,复杂度会爆。我们利用在线段树上,每个区间只会被表示为 \(O(\log n)\) 个区间的性质,从这个点的出点 \(x_{out}\),向入点对应的线段树上的每个区间,连一条边。

这样每次操作最多引入 \(O(\log n)\) 条边,最终的边数 \(m=O(n \log n)\),跑 Dijkstra 复杂度是 \(O(n \log n \log (n\log n))=O(n \log^2n+n\log n\log\log n)\)

LOJ3159 「NOI2019」弹跳

如上,不过这次我们是二维的。暴力开一个树套树建出所有边空间会不够。

我们分析一下 Dijkstra 的算法过程,如果一个点被弹出了队列,相当于是说明这个点的最短路已经确定了。所以我们每次拿出一个弹跳装置时(设此时这个点的最短路为 \(w\)),我们可以暴力把他连接的所有点的最短路设为 \(w\)(因为弹跳装置与城市的边权为 \(0\),所以他们的最短路必定相同),然后把这些点删掉。

线段树上每个节点维护一个 set 代表还在的点。每次删除一个矩形内的点。这个的空间复杂度是 \(O(n\log n)\) 的(因为 set 的空间是 \(O(n)\))。由于这样每个城市只会被删一次,所以最后时间复杂度也是对的。

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

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

相关文章

计算机网络—TCP和UDP

TCP 和 UDP 有什么区别? TCP:提供了可靠、面向连接的传输,适用于需要数据完整性和顺序的场景 UDP:提供了更轻量、面向报文的传输,适用于实时性要求高的场景 区别总结:对比项 TCP UDP连接方式 面向连接(三次握手…

Universal 3-Button Flip Remote Key for Hyundai: KEYDIY KD NB25-3 (5pcs/lot)

The Hyundai Key Replacement Solution: KEYDIY KD NB25-3 PCF Universal Flip Remote Key Problem: Frustration with Hyundai Key Replacements For European and American Hyundai owners and repair shops, tradit…

接口自动化平台用例执行引擎 — ApiTestEngine

前言 ApiTestEngine 主要是为了快速进行接口自动化平台开发,基于 unittest 设计的接口用例执行引擎,其实之前开发的接口自动化框架 apin 也可以作为测试平台的用例执行引擎。但是 apin 最初设计的初衷是基于 JSON 或…

NOIp 知识点复习

1. Floyd //exam: B3647 【模板】Floyd #include <iostream> #include <cstring> #include <cstdio> #define int long long using namespace std; const int MAXN = 105; int f[MAXN][MAXN]; int n…

Redis:高性能NoSQL数据库实战指南 - 教程

Redis:高性能NoSQL数据库实战指南 - 教程2025-11-25 22:46 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: bloc…

2025年口碑好的轮胎品牌哪家好:十大消费者信赖品牌揭秘

2025年口碑好的轮胎品牌哪家好:十大消费者信赖品牌揭秘在当前消费端愈发重视驾乘体验与安全信赖的市场语境下,“口碑好的轮胎品牌哪家好”正迅速跃升为车主、采购决策者与行业观察者共同聚焦的核心议题。伴随新能源汽…

Topic 2

Topic 2 目录Python 内建数据结构概览 List(列表) - 列表特性 - 创建方法、访问方式、修改方式 - 添加、插入、删除、排序、遍历 - 方法总表 - 例子逐行解释 Tuple(元组) - 特性、创建、访问 - 不可变性质、如何绕…

2025年反渗透一体机/软化水设备/中水再生水回用设备/净水处理设备厂家最新权威推荐:产能、专利、环保三维数据透视,行业数据用户口碑,工业/家用选择指南

随着城镇化进程加快与环保政策收紧,净水、纯水、软化水设备成为解决村镇饮水安全、工业用水净化的核心装备。本榜单基于技术实力、区域适配性、案例验证三大维度,结合《2024中国水处理设备行业发展报告》及环保项目招…

AcWing 860:染色法判定二分图 ← 并查集

​【题目来源】https://www.acwing.com/problem/content/862/【题目描述】给定一个 n 个点 m 条边的无向图,图中可能存在重边和自环。请你判断这个图是否是二分图。【输入格式】第一行包含两个整数 n 和 m。接下来 m …

回调函数20251125

1.回调函数:将函数作为指针传参给其他函数使用,实现解耦作用,将各个功能分开。举例,不含参数的回调函数:#include"stdio.h" int Callback() { printf("Hello, this is Callback "); re…

类模板的实现

pragma once include using namespace std; template class Myvector { friend ostream& operator<< (ostream& out, const Myvector & othervectr); //用有元函数重载输出运算符 ,注意必须要加…

rime(小狼毫)+雾凇+皮肤+万象大模型+个人词库补充

rime(小狼毫)+雾凇+皮肤+万象大模型+个人词库补充 在使用rime一段时间后,以下是我的配置心得 很多配置都基于ymal文夹,可以先去稍微了解一些yaml格式,不符合yaml格式的修改是不会生效的 (简单介绍 冒号后面一定要有…

2025年中国前五大轮胎品牌:专业测评与选购指南

2025年中国前五大轮胎品牌:专业测评与选购指南在当前产业转型与消费升级交汇的关键节点,“中国前五大轮胎品牌”已成为资本市场、主机厂供应链与广大消费者研判行业走势与品质选择的核心议题。为给行业及消费者提供基…

lru_cache装饰器的缓存清除机制原理

lru_cache 装饰器的缓存清除机制核心围绕 LRU(Least Recently Used,最近最少使用)算法 展开,仅在特定条件下触发清除,且分为「被动淘汰」「主动清除」「隐式清除」三类场景。以下是详细拆解: 一、核心:LRU 淘汰…

2025年中国前十大轮胎品牌:最新官方榜单深度解析

2025年中国前十大轮胎品牌:最新官方榜单深度解析在当前汽车产业加速重构与消费升级并行的新周期,“中国前十大轮胎品牌”已成为资本市场、主机厂供应链与广大消费者研判行业走向的核心坐标。为给行业及消费者提供基于…

网格图分治模型

若网格图面积为 \(S\),取短边分治,令分治层的复杂度和短边相关(一般是从短边上每个点出发对整个网格图 DP/搜索 之类的)。 因为短边长度 \(O(\sqrt S)\)(一般)一层复杂度是 \(O(S\sqrt S)\),总复杂度 \(T(S)=2T…

Python内置的lru_cache装饰器实现缓存教程

functools.lru_cache 是 Python 内置的函数缓存装饰器,基于「最近最少使用(LRU)」策略管理缓存,能自动缓存函数的调用结果,避免重复执行高耗时函数(如复杂计算、数据库查询)。以下是它的完整使用指南,包含基础…

2025年轮胎品牌推荐:权威TOP10全球品牌综合排名

2025年轮胎品牌推荐:权威TOP10全球品牌综合排名在当前汽车消费加速升级与新能源浪潮席卷的时代背景下,“轮胎品牌推荐”已成为广大车主、整车厂商及资本市场研判赛道格局的核心议题。面对琳琅满目的品牌阵列与繁杂的…

详细介绍:Git分支合并实战指南:从feature到master,一文搞定全流程!

详细介绍:Git分支合并实战指南:从feature到master,一文搞定全流程!pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: &…

北京墙体彩绘公司推荐香鲸艺术坊,行业排名遥遥领先!

墙体彩绘作为空间美学升级的核心方式,在北京商业场景引流、家装个性定制、政企文化建设等领域需求持续攀升。本文基于市场口碑调研、服务案例落地、环保资质审核、售后保障能力四大核心维度,整理出北京墙体彩绘行业综…