7.1 lxl DS Day1 题解

news/2024/7/6 7:17:38/文章来源:https://www.cnblogs.com/qerrj/p/18282551

7.1 lxl DS Day1 题解

P7124 [Ynoi2008] stcm

性质1: 考虑轻儿子的子树和为 \(O(nlogn)\)

证明: 考虑每个结点会对多少个轻祖先做贡献, 也就是重链个数, 考虑每个节点到根节点重链条数为 \(O(nlogn)\) , 所以子树和为 \(O(nlogn)\)

所以对于一条重链, 如果我们已经插入了链头的补集, 那么我们就可以直接暴力插入和删除求出这条重链上所有点的答案, 然后对于重链上轻儿子的答案, 我们可以如果可以得到轻儿子的补集, 就可以递归下去了。

考虑对于重链上所有轻儿子怎么搞, 可以对于所有轻儿子建出霍夫曼树, 然后遍历每个叶子节点, 可以证明轻儿子子树和为 \(O(n)\) 的话, 这一步操作时间复杂度为所有节点带权子树和, 为 \(O(nlogn)\)

证明: 考虑每个叶子节点对祖先的贡献, 考虑这是一课霍夫曼树, 每往上走一层子树大小至少翻倍, 所以树高\(logn\), 子树和就是 \(O(nlogn)\)

P2325 [SCOI2005] 王室联邦

考虑这是树分块的板子题,构造过程:

  1. 从节点 \(u\) dfs搜索下去, 考虑 \(u\) 为省会, 所以遍历了超过 \(B\) 节点就直接分为一块, 直到剩下一小坨的节点数小于 \(B\), 把 \(u\) 也带上, 分给 \(u\)\(father\)
  2. 对于 \(father\), 也是递归上述过程。

P8204 [Ynoi2005] tdnmo

考虑树上邻域查询不删除莫队, 考虑树分块, 类似王室联邦的构造, 但是为了保证簇只有两个界点, 所以考虑多加一个限制就是, 如果最后剩下的儿子大于等于2个, 所以直接令 \(u\) 为界点, 虽然这样多了一些 \(siz\) 小于 \(B\), 但是考虑可以证明不影响复杂度, 所以树分块直接就成功了, 这是最简单的建法了吧。

然后考虑回滚莫队, 所以考虑 \(x\) 不在簇路径上的点,直接从空集到询问, 反正不会超过 \(O(\sqrt n)\)

考虑在簇路径上的点, 直接回滚到下界点, 跑回滚莫队就行了。

P4475 巧克力王国

半平面数点, 可以用kdt, 但是数据不随机会被卡掉, 并且数据随机时, 可以有这个做法:

对于平面分块, 分成 \(\sqrt n \times \sqrt n\) 的块, 每个块期望的点数是 \(O(1)\) 的, 所以考虑对于与直线有交的残块, 直接暴力查询 \(O(\sqrt n)\) , 对于整块, 做一下前缀和即可。

P9996 [Ynoi2000] hpi

同样可以半平面数点, 对于右上/左下的半平面, 统计每个右上/左下的点数。对于右下/左上的半平面, 容斥一下即可。

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

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

相关文章

【坚果识别】果实识别+图像识别系统+Python+计算机课设+人工智能课设+卷积算法

一、介绍 坚果识别系统,使用Python语言进行开发,通过TensorFlow搭建卷积神经网络算法模型,对10种坚果果实(杏仁, 巴西坚果, 腰果, 椰子, 榛子, 夏威夷果, 山核桃, 松子, 开心果, 核桃)等图片数据集进行训练,得到一个识别精度较高的模型文件,让后使用Django搭建Web网页端…

MRCTF 2022 EzJava

MRCTF 2022 EzJava 题目分析 下载附件得到一个 jar 包和一个 waf 配置文件。如果只是为了本地搭建环境,直接启动 jar 包就行了,但是如果需要进行远程调试就需要进行一些配置(这个网上教程很多),这个调试也要看具体需求,能直接打通的话就不需要调试。 但是不管怎么说,第一…

逻辑回归求解二分类问题以及SPSS的实现

分类问题就是给出物质的属性,判断其属于什么成分,本文将讲述逻辑回归求解二分类问题 本文着重于模型的实现,对于推导只是概括性的叙述 目录一、问题提出二、逻辑回归函数logistic1.线性线性概率模型2.sigmod函数3.求解方法————极大似然估计4.分类原则三、SPSS实现———…

线上的一次fullgc排查过程

线上服务的GC问题,是Java程序非常典型的一类问题,非常考验工程师排查问题的能力。同时,几乎是面试必考题,但是能真正答好此题的人并不多,要么原理没吃透,要么缺乏实战经验。过去半年时间里,我们的广告系统出现了多次和GC相关的线上问题,有Full GC过于频繁的,有Young G…

基于GWO灰狼优化的LDPC码NMS译码算法最优归一化参数计算和误码率matlab仿真

1.算法仿真效果 matlab2022a仿真结果如下(完整代码运行后无水印):2.算法涉及理论知识概要LDPC码是一种线性错误修正码,以其接近香农极限的优良性能而被广泛应用于现代通信系统中。NMS译码是一种基于最小平方误差准则的软判决译码方法,其目标是找到一个最可能的码字,使得接…

k8s-核心组件

核心组件组成 Kubernetes 主要由以下几个核心组件组成: - etcd :保存整个集群的状态 - API Server:提供了资源操作的唯一入口,并提供认证、授权、访问控制、API注册和发现等机制 - Controller Manager:负责维护集群的状态,如故障检测、自动扩展、滚动更新等 - Scheduler:…

学习笔记485—Excel技巧:一键将文本数字转换为数值

Excel技巧:一键将文本数字转换为数值在使用Excel进行数据处理时,经常会遇到数据格式不匹配的问题。特别是当从外部导入数据或手动输入数据时,数字可能会被误识别为文本格式,这在进行数据计算和分析时会带来诸多不便。幸运的是,Excel提供了一些便捷的方法,可以帮助我们一键…

使用IDEA给项目打jar包

使用IDEA给项目打jar包参考地址:https://www.cnblogs.com/blog5277/p/5920560.html 感谢作者一、准备一个Java项目并先看看效果 ​ 只想打包,就跳过这一步: 一、准备一个Java项目并先看看效果。 ​ 如果启动jar包遇到报错:无法找到/加载主类就去看看第二步开头。 1、找一…

MCU点灯

MCU点灯 芯片型号:STM32F407ZET6 4个LED灯,网络标号分别为LED0 ,LED1,FSMC D10,FSMC D11。对应的引脚号分别为PF9,PF10,PE12,PE13。原理图//1.定义变量 GPIO_InitTypeDef GPIO_InitStructureF;//F端口 GPIO_InitTypeDef GPIO_InitStructureE;//E端口 int main()//中文注释 …

电子计算机类比赛的“武林秘籍”-电赛光电设计大赛计算机设计大赛嵌入式芯片与系统设计竞赛,你要的都在这里!

本文主要介绍了工科类学生参加比赛的必要性和益处、电子计算机类比赛的基本思路等内容电子计算机类比赛的“武林秘籍”-电赛光电设计大赛计算机设计大赛嵌入式芯片与系统设计竞赛,你要的都在这里! 为什么需要参加电子计算机类比赛 对于实现短期目标而言: 电子计算机类学科竞…

VMware安装CentOS7环境

准备 CentOS7的iso镜像 下载链接:https://mirrors.aliyun.com/centos/7/isos/x86_64/配置步骤 步骤一——创建虚拟机 1、点击创建新的虚拟机2、选择典型3、选择镜像文件4、填写对应信息5、选择虚拟机存储的位置6、存储为单个文件7、创建步骤二——配置centos7 1、打开虚拟机后…

Mybatis执行器

mybatis执行sql语句的操作是由执行器(Executor)完成的,mybatis中一共提供了3种Executor:类型 名称 功能REUSE 重用执行器 缓存PreparedStatement,下一次执行相同的sql可重用BATCH 批量执行器 将修改操作记录在本地,等待程序触发或有下一次查询时才批量执行修改操作SIMPLE…

本地安装seata

1. 下载,解压steata安装包 2. 修改配置里面的端口号 只要是localhost或者不是自己的端口号都更改成自己的端口号3. 修改配置nacos的文件执行 4、数据库中添加对应的表 数据库中的表名称尽量位seata_server,避免后面去修改 5、线上nacos配置 在public 下面进行配置,修改自己对…

关于自定义unordered_set\unordered_map中Hash和KeyEqual:函数对象和lambda表达式简单应用

以unordered_set为例,首先在cppreference中查看其模板定义:可以看到Hash类默认是std::hash<Key,KeyEqual类似,本文将Hash以函数对象写出,将KeyEqual以lambda写出。 class hashvec{public:size_t operator()(const vector<int> & vec) const {return hash<…

Python预测体重变化:决策树、tf神经网络、随机森林、梯度提升树、线性回归可视化分析吸烟与健康调查数据

全文链接:https://tecdat.cn/?p=36648 原文出处:拓端数据部落公众号 在当今的数据驱动时代,机器学习算法已成为解析复杂数据集、揭示隐藏模式及预测未来趋势的重要工具。特别是在医疗健康领域,这些算法的应用极大地提升了我们对疾病预防、诊断及治疗方案的理解与制定能力。…

Nuxt3 的生命周期和钩子函数(九)

摘要:本文介绍了Nuxt3中与Vite相关的五个生命周期钩子,包括vite:extend、vite:extendConfig、vite:configResolved、vite:serverCreated和vite:compiled,展示了如何在每个钩子中扩展Vite配置、读取配置、添加中间件和处理编译事件。每个钩子都有详细的描述和示例代码,帮助开…

地理信息科学:生态保护的智慧经纬

在地球这颗蓝色星球上,每一片森林的呼吸、每一条河流的流淌,都是生命交响曲中不可或缺的音符。而地理信息科学(GIS),正是我们手中解读自然密码、护航生态平衡的精密仪器。今天,让我们深入探讨GIS如何在生物多样性保护和生态系统管理中发挥其不可替代的作用。 🌱 GIS——…

软连接与硬链接

(1)软链接(symbolic link) 创建命令:ln -s <target> <link_name>其中:<target> 是目标文件或目录的路径,可以是相对路径或绝对路径。<link_name> 是要创建的软链接的名称,可以是相对路径或绝对路径。特点:笔试面试填空题和简答题:软链接的特点…

pycharm导入第三方包出现红色波浪线或新建flask项目出现红色波浪线解决办法

设置 -> 项目结构(Project Structure) ,将site-packages设为源代码

开源软件开发平台哪家好?

低代码技术平台、开源软件开发平台哪家好?进行数字化转型,离不开低代码技术平台等软件产品的加持与助力。因为它更好操作、更灵活、易维护等优势特点突出,在推动企业实现流程化办公的过程中助力明显,作用大,深得客户喜爱。那么,低代码技术平台、开源软件开发平台哪家好?…