Loveless Dress

news/2025/3/25 20:51:02/文章来源:https://www.cnblogs.com/CDOI-24374/p/18791968
目录

目录
  • 2025 NOI 模拟 1
    • A. 发光虫
    • B. 跑步
    • C. 梦

\[\newcommand{\dist}{\operatorname{dist}}\newcommand{\dep}{\operatorname{dep}}\newcommand{\lca}{\operatorname{lca}}\newcommand{\anc}{\operatorname{anc}}\newcommand{\subtree}{\operatorname{subtree}} \]

2025 NOI 模拟 1

A. 发光虫

二分答案 \(k\) 后用 2-SAT,相当于要让每个点向和它距离 \(<k\) 的不同色的点连边 .

对颜色分块,对于整块用线段树优化建图,散块暴力连边,容易发现时间复杂度为 \(\Theta((n\log n)^{1.5})\) .

B. 跑步

考虑到相当于求:

\[\sum_ia_i\min_{u\in S}\{\dist(u,i)\}=\sum_ia_i(\dep(i)+\min_{u\in S}\{\dep(u)-2\dep(\lca(u,i))\}) \]

枚举 \(\lca(u,i)\) 的话就是:

\[\sum_ia_i\min_{u\in S}\{\dep(u)-2\dep(\lca(u,i))\}=\sum_ia_i\min_{u\in\anc(i)}\Big\{\min_{v\in S\cap\subtree(u)}\{\dep(v)\}-2\dep(u)\Big\} \]

这里后面只能保证 \(u\)\(\lca(v,i)\) 的祖先,但是不取 \(u=\lca(v,i)\) 的情况一定不优,所以可以这样转换 .

在虚树上做,首先 \(\min\limits_{v\in S\cap\subtree(u)}\{\dep(v)\}\) 可以预处理出来,每一段都是一样的 . 如果一段被完整包含在 \(\anc(i)\) 里那么它对应的 \(u\) 一定是取最深的结点 . 那么在虚树上 DFS 倍增出来每段上 \(u\) 取当前段优的 \(i\) 和取前面的段优的 \(i\),把想求的东西全部树上差分维护一下就可以了 .

时间复杂度 \(O((n+\sum num_i)\log n)\) .

C. 梦

首先只需要计算每个点作为 \(\lca(u,v)\) 时的答案,然后取子树 max 即可 .

维护一下和每个点 \(u\) 深度差 \(d\) 的点中 \(b\)\(c\) 的最大值,自底向上合并就可以了 . 长剖即可优化到 \(\Theta(nk)\) 并且过题 .

进一步可以通过维护 ST 表状物改成 \(\Theta(n\log k)\)(其实好像用单调队列就 \(\Theta(n)\) 了).

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

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

相关文章

vue+leaflet示例:热力图(附源码下载)

demo源码运行环境以及配置运行环境:依赖Node安装环境,demo本地Node版本:14.19.1。 运行工具:vscode或者其他工具。 配置方式:下载demo源码,vscode打开,然后顺序执行以下命令: (1)下载demo环境依赖包命令:npm i (2)启动demo命令:npm run dev (3)打包demo命令: n…

vue+leaflet示例:地图全图以及框选截图导出功能(附源码下载)

demo源码运行环境以及配置运行环境:依赖Node安装环境,demo本地Node版本:14.19.1。 运行工具:vscode或者其他工具。 配置方式:下载demo源码,vscode打开,然后顺序执行以下命令: (1)下载demo环境依赖包命令:npm i (2)启动demo命令:npm run dev (3)打包demo命令: n…

vue+leaflet示例:聚合图功能(附源码下载)

demo源码运行环境以及配置运行环境:依赖Node安装环境,demo本地Node版本:14.19.1。 运行工具:vscode或者其他工具。 配置方式:下载demo源码,vscode打开,然后顺序执行以下命令: (1)下载demo环境依赖包命令:npm i (2)启动demo命令:npm run dev (3)打包demo命令: n…

vue+leaflet示例:结合geoserver利用WFS服务实现图层新增功能(附源码下载)

demo源码运行环境以及配置运行环境:依赖Node安装环境,demo本地Node版本:14.19.1。 运行工具:vscode或者其他工具。 配置方式:下载demo源码,vscode打开,然后顺序执行以下命令: (1)下载demo环境依赖包命令:npm i (2)启动demo命令:npm run dev (3)打包demo命令: n…

vue+leaflet示例:结合geoserver利用WFS服务实现图层编辑功能(附源码下载)

demo源码运行环境以及配置运行环境:依赖Node安装环境,demo本地Node版本:14.19.1。 运行工具:vscode或者其他工具。 配置方式:下载demo源码,vscode打开,然后顺序执行以下命令: (1)下载demo环境依赖包命令:npm i (2)启动demo命令:npm run dev (3)打包demo命令: n…

IDEA使用Docker插件打包+推送+部署

前提条件:在服务器或者虚拟机中已经安装好了Docker1、确认是否安装插件2、配置SSH链接信息3、构建一个简单的SpringBootDemo工程4、编写一点测试代码 @RestController public class HelloController {@GetMapping("/hello")public String hello(){return "<…

蓝桥真题

有奖问答 这种选择导致分支可以使用递归 我个人觉得洛谷的答案错了,如果按能得到洛谷答案的代码,改成求30题对30道,最多对30道的话,得到的是0,应该把限制条件改为能计算答对10道题的方案,因为最多十道题不是不能达到10道题DFS #include <bits/stdc++.h> using name…

day:29 python接口测试——断言、封装、关联接口

一.request断言 1、if断言 代码: if wb["msg"]=="登录成功!":print("ok") else:print("no")案例:import requests s=requests.Session() url1="http://49.233.201.254:8080/cms/manage/loginJump.do" data1={userAccou…

基于光度立体的复杂结构件表面缺陷检测数据集

为解决非平面零部件缺陷检测时,高低起伏的形貌所形成的阴影或表面反光导致的误报和漏检问题,作者提出了一种基于深度学习和光度立体的新型缺陷检测技术。摘要 为解决非平面零部件缺陷检测时,高低起伏的形貌所形成的阴影或表面反光导致的误报和漏检问题,作者提出了一种基于深…

02_Redis之数据类型及操作

本文介绍redis常用数据类型和相关操作。02_Redis之数据类型及操作一、String类型及操作 是二进制安全的,可以存放任意类型的数据。 # 设置与获取值 set k1 value1 get k1# 设置key对应的值为string 类型的value。如果key已存在,返回0,nx 是 not exist 的意思 setnx k1 value…

解析四款功能强大的GIS工具箱软件

随着GIS技术的不断发展,各类专业的GIS工具箱软件不断涌现,帮助专业人士在空间数据分析、地图可视化、三维建模等方面提供强有力的支持。本文将介绍四款GIS工具箱软件,这几款软件专注于GIS切片和GIS数据处理,适用于多个领域的地理信息数据处理,能够帮助用户高效处理和可视化…

什么是「Agentic 工作流程」?丨社区来稿

摘要分享者:Richard 林旅强(RTE 开发者社区联合主理人)什么是「Agentic 工作流程」?它是一种让 AI 智能代理(Agent)更主动、更灵活、更像人的方式来处理复杂任务的系统。刚才读到了一篇言简意赅的文章(链接在文末),我想就基于以下每一张文中的图示,来说说什么是 Agen…