上海计算机学会1月月赛(甲组) T1 简单 MST题解

news/2025/2/8 8:19:15 标签: 算法, 数据结构

T2-简单 MST题解

题意

ω ( x ) \omega(x) ω(x) x x x的质因数所构成的集合大小;

给两个正整数 l l l r r r,图上有 r − l + 1 r-l+1 rl+1个点,为
l , l + 1 , l + 2 , ⋯   , r − 2 , r − 1 , r l,l+1,l+2,\cdots,r-2,r-1,r l,l+1,l+2,,r2,r1,r
任意图上两点 x x x y y y之间的边权为 ω [ l c m ( x , y ) ] \omega[lcm(x,y)] ω[lcm(x,y)],求这张图的最小生成树的权值和。

思路

G ( x ) G(x) G(x) x x x的质因数所构成的集合。

很容易想到要首先连质数,即连 ω ( x ) = 1 \omega(x)=1 ω(x)=1的数,那么边权为 ω ( y ) + 1 \omega(y)+1 ω(y)+1 ω ( y ) \omega(y) ω(y)

但是,除了和质数连边以外还有和 G ( x ) ⊆ G ( y ) G(x)\subseteq G(y) G(x)G(y) 的点连边的边权为 ω ( y ) \omega(y) ω(y)

显然,暴力枚举 x x x是不现实的,因此我们只需要求出和 y y y最接近的满足上述条件的点就可以了,具体来说是在筛素数的过程中记录每个数的所有质因子的乘积,这样就可以 O ( 1 ) O(1) O(1)判断是否满足。

最后,将所有点和对应上述点进行连边,跑一遍最小生成树即可,总体复杂度为 O ( r log ⁡ r ) O(r\log r) O(rlogr)


http://www.niftyadmin.cn/n/5840117.html

相关文章

python小知识-typing注解你的程序

python小知识-typing注解你的程序 1. Typing的简介 typing 是 Python 的一个标准库,它提供了类型注解的支持,但并不会强制类型检查。类型注解在 Python 3.5 中引入,并在后续版本中得到了增强和扩展。typing 库允许开发者为变量、函数参数和…

《逆向工程核心原理》第三~五章知识整理

查看上一章节内容《逆向工程核心原理》第一~二章知识整理 对应《逆向工程核心原理》第三章到第五章内容 小端序标记法 字节序 多字节数据在计算机内存中存放的字节顺序分为小端序和大端序两大类 大端序与小端序 BYTE b 0x12; WORD w 0x1234; DWORD dw 0x12345678; cha…

8 比例缩放(scale.rs)

scale.rs代码是几何变换库euclid中典型的数据结构和方法的例子,用于处理二维和三维空间中的缩放变换。 一、scale.rs文件源码 //! A type-checked scaling factor between units.use crate::num::One;use crate::approxord::{max, min}; use crate::{Box2D, Box3D…

Spring MVC消息转换器

在Spring MVC框架中,extendMessageConverters 通常与消息转换器(Message Converters)相关。消息转换器是Spring MVC用于将HTTP请求和响应主体(body)转换为Java对象和字符串的组件。它们在处理不同的媒体类型&#xff0…

hot100_21. 合并两个有序链表

将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1: 输入:l1 [1,2,4], l2 [1,3,4] 输出:[1,1,2,3,4,4] 示例 2: 输入:l1 [], l2 [] 输出:[…

FLTK - FLTK1.4.1 - demo - bitmap

文章目录 FLTK - FLTK1.4.1 - demo - bitmap概述笔记END FLTK - FLTK1.4.1 - demo - bitmap 概述 // 功能 : 演示位图数据在按钮上的显示 // * 以按钮为范围或者以窗口为范围移动 // * 上下左右, 文字和图像的相对位置 // 失能按钮,使能按钮 // 知识点 // FLTK可…

Python从零构建macOS状态栏应用(仿ollama)并集成AI同款流式聊天 API 服务(含打包为独立应用)

在本教程中,我们将一步步构建一个 macOS 状态栏应用程序,并集成一个 Flask 服务器,提供流式响应的 API 服务。 如果你手中正好持有一台 MacBook Pro,又怀揣着搭建 AI 聊天服务的想法,却不知从何处迈出第一步,那么这篇文章绝对是你的及时雨。 最终,我们将实现以下功能: …

因果推断与机器学习—因果推断入门(1)

在机器学习被广泛应用于对人类产生巨大影响的场景(如社交网络、电商、搜索引擎等)的今天,因果推断的重要性开始在机器学习社区的论文和演讲中被不断提及。图灵奖得主 Yoshua Bengio 在对系统 2(system 2,这个说法来自心理学家 Daniel Kahneman 的作品,人类大脑由两套系统…