2024.6.17

news/2024/10/23 17:30:55/文章来源:https://www.cnblogs.com/lupengheyyds/p/18497886

2024.6.17

T1

题面

有一个 \(n\) 个节点的联通图给出一个 \(n\times n\) 的矩阵,其中 \(a_{i,j}\) 表示节点 \(i\) 与节点 \(j\) 之间的最短路,求原图的边权之和的最小值,如果不合法,输出 \(-1\)

\(n\le 300,1\le a\le 10^9\)

解法

我们先利用 \(floyd\) 跑一下,如果存在 \(a_{i,k}+a_{k,j}<a_{i,j}\),则不存在这样的图。
我们考虑初始时,所有点对之间都有边,并且边权等于最短路径的长度,此时构造出来的图 \(G\),一定满足要求。
我们考虑如何尽量多的去掉图 \(G\) 上的边,由于没有负权,因此如果 \(a_{i,k}+a_{k,j}=a_{i,j}\),那么 \(a_{i,j}\) 这条边就可以去掉,因为这条路是多余的。
最后剩下的边权和,就是答案。

方法

  • 贪心

T2

题面

输入两个01字符串 \(A\)\(B\),求 \(A\) 中所有长为 \(|B|\) 的字串与 \(B\) 的汉明距离最小值。

汉明距离:两个相同长度字符串对应位置字符不同的数量

\(1\le|B|\le|A|\le10^6\)

解法

我们考虑算卷积,将 \(B\) 翻转并在后面加 \(0\)\(S\) 卷积相乘。
结果的第 \(P\) 位的值为 \(\sum_{j=0}^PB_jA_{P-j}=k\) ,对于只有 01 的串,只有 \(1\times 1=1\) ,因此 \(k\) 代表 \(B_j\)\(A_{P-j}\) 中有多少位同时是 \(1\),也就是说串 \(B_0\)\(B_P\),与串 \(A_P\)\(A_0\)\(1\) 的匹配数量。如果利用 \(FFT\) 算卷积,则是 \(\mathcal O(n\log n)\) 的 。
同样,我们将 \(0\) 换成 \(1\)\(1\) 换成 \(0\),再做一次卷积,这样可以求出有多少 \(0\)\(0\) 是匹配的。
最后用 \(|B|\) 减去所有匹配中的最大值即可。

方法

  • 卷积

    • 卷积的两项为 \(\text{bool}\) ,乘法与 \(\operatorname{and}\) 运算等价,相当于同时为 \(1\) 的个数

    • 先反转,再卷积,相当于对应位置相乘

T3

题面

一个数轴上,小 A 可以从 \(i\) 位置跳到 \([i+1,i+z]\),每到一个点(除起点)都会花费 \(a\) 元,数轴上有 \(n\) 个特殊的点,当小 A 跳到\(c[i]\) 位置的时候会挣 \(m[i]\) 元,小 A 从 \(x\)\(y\),求最后最多有多少钱

\(1\le m[i],a,z\le 10^9,1\le n\le 10^5,0\le x\le c[1]<\cdots<c[n]\le y\le 10^9\)

解法

易得方程 \(dp[i]=\max_{j<i}\{dp[j]-\lceil\dfrac{c[i]-c[j]}{z}\rceil a\}+m[i]\)

可化为 \(dp[i]=\max_{j<i}\{dp[j]+\lfloor\dfrac{c[j]}{z}\rfloor a-[c[i]\bmod z>c[j]\bmod z]a\}+m[i]-\lfloor\dfrac{c[i]}{z}\rfloor\)

此时可以对 \(c[i]\bmod z\) 分类讨论,于是用线段树优化DP可以求解,时间复杂度\(\mathcal O(n\log n)\)

方法

  • 线段树优化DP

T4

题面

给定一个字符串 \(S\)

\(m\) 个询问,每次形如 i l r ,求以第 \(i\) 个位置为起点的后缀,和起点位置在 \([l,r]\) 内的所有后缀的最长公共前缀的长度,以及选到这个最优解的位置,如有多个解,求这个后缀的字典序最小。

\(1\le m,|S|\le 2\times 10^5,1\le i\le |S|,1\le 1\le r\le |S|\)

解法

后缀数组对所有后缀排序,用 ST 表维护高度高度数组,以求LCP,由于限制了 \(sa[i]\in [l,r]\),所以在拍好序的后缀上建立可持久化线段树,每次加入 \(rk[i]\) 的后缀,最后查询即可

方法

  • 后缀数组

  • ST表

  • 可持久化线段树

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

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

相关文章

中国大学mooc慕课视频课件课程下载工具,如何在电脑端下载中国大学mooc慕课视频课程课件资料到本地?

一. 安装中国大学mooc慕课课程下载器 1.获取学无止下载器 https://www.xuewuzhi.cn/icourse163_downloader 2.下载安装后,然后点击桌面快捷方式运行即可。 注意:杀毒软件可能会阻止外部exe文件运行,并将其当做成病毒,直接添加信任即可,本软件绝对没有木马病毒。 二. 使用…

【网课下载教程】网课视频下载攻略:让学习更高效

在当今互联网时代,在线学习已成为越来越多人的选择。有时,我们希望离线观看网课视频,以避免网络不稳定等问题。本文将为您提供一篇详细的网课视频下载教程,助您更高效地学习。 一、为什么下载网课视频?无需依赖网络:下载后的视频可以在没有网络的情况下观看,便于在交通工…

Mesh Renderer

网格渲染器 (Mesh Renderer) 网格渲染器从网格过滤器 (Mesh Filter) 获取几何体,然后在游戏对象的变换组件所定义的位置渲染该几何体。Materials Materials 部分列出了 Mesh Renderer 当前使用的所有材质。从3D建模软件导入的网格可以使用多种材质,而每个子网格使用列表中的一…

CIM+全场景应用,铸就智慧城市发展新篇

在数字化浪潮的推动下,智慧城市建设正成为全球城市发展的新趋势。而CIM(城市信息模型)作为智慧城市建设的核心,正以其强大的数据集成和分析能力,引领着城市发展的新篇章。今天,让我们一起探讨CIM+全场景应用如何助力智慧城市的建设。1. CIM的定义与重要性CIM是一种集成了…

【故障公告】数据库服务器 CPU 100% 造成全站故障

非常抱歉,今天下午 16:03~16:33 期间,我们使用的阿里云 RDS 实例(SQL Server2016 标准版,16核32G)出现 CPU 100% 问题,造成全站无法正常访问,由此给您带来很大的麻烦,请您谅解。 发现故障后,我们通过阿里云 RDS 控制台进行了主备切换,由于 CPU 被占太满,主备切换失败…

手把手教你如何下载高途和途途上面已购买的视频课程

前言:很多同学都想知道高途课堂/途途课堂/高途高中规划的视频课程怎么下载,但是高途上面已购买的视频课程是不提供直接下载方式的,所以下面就教大家如何用学无止下载器下载高途上面已购买的视频课程。 一、下载器首页输入G回车,再输入对应的APP序号并按回车,提示登录,再输…

中公网校上买的课程快过期了怎么办?教你如何下载到本地永久观看~

前言:很多同学都遇到过购买的网课课程过期了,然后无法观看,花了钱还没学完,血亏。这里教大家一种方法,把中公网校上面快过期的课程下载到电脑本地,然后可以永久观看了~ 提示:操此方法需要使用Windows电脑,Mac还不支持 一、电脑登录中公网校官网(点此登录中公网页)二、…

给大家介绍一个快速拉取代码的方法

1、我们安装好git之后、复制应用的ssh密钥。进入想保存本地的目录即可、等待一会、密钥认证成功。(我这里是在D盘、researchAndDe...目录)2、使用CD命令、进入想拉取代码的应用 3、使用“git checkkout 分支名称”,等待提示Switched to a new branch 拉取代码成功4、进入ide…

给大家介绍一个快速拉去代码的方法

1、我们安装好git之后、复制应用的ssh密钥。进入想保存本地的目录即可、等待一会、密钥认证成功。(我这里是在D盘、researchAndDe...目录)2、使用CD命令、进入想拉去代码的应用 3、使用“git checkkout 分支名称”,

Cinemachine系列——CinemachineConfiner

使用Cinemachine Confiner扩展可以限制相机的位置在特定的体积或区域内。 Confiner可以在2D或3D模式下工作,不同的模式影响它接受的边界形状。在3D模式下,相机在三维空间中的位置被限制在一个体积内,这同样适用于2D游戏,但需要考虑深度。在2D模式下,深度问题不需要考虑。 …

网站模板可以自己修改吗?

网站模板通常是可以根据个人或企业的具体需求进行自定义修改的。以下是一些常见的修改方式:修改样式:通过编辑CSS文件来改变网站的颜色、字体、布局等视觉效果。 调整结构:在HTML或相应的模板文件中添加或删除元素,以适应不同的页面布局需求。 功能增强:利用JavaScript或其…

网站搭建教程

1.领取免费服务器,推荐SanFengyun免费服务器。2.服务器安装BT面板,然后一键部署网站 3.也可以自己上传源码到网站。 4.绑定域名,服务器将域名加入白名单。 5.部署SLL证书。