2025.3.29日 清华大学-郝泽旭 的模拟赛

2025.3.29日 清华大学-郝泽旭 的模拟赛

原题可以转化为给定了 \(k\) 个起点,求 \(k\) 个终点,使得路径两两无公共点的所有路径之和的最大值。

注意到先上再下的路径可以拆成两部分,即从关键点开始先向上到达一个点后再向下可以看作一条从关键点向上的路径与一条从非关键点向上的路径相合并。

于是设 \(dp_{u,0/1/2}\) 表示节点 \(u\) 处,下面连着一个关键点/下面连着一个非关键点/下面没有连点的方案数,即可转移。

连通块个数是点数减边数。

现在就是要考虑总共包含了多少边数。先用dfn代替点的编号。

有一个做法是枚举每个点看其父亲节点在不在 \(S\) 中,单次复杂度 \(\mathcal O(n)\)

有另一个做法是, 对于一条边 \((u,v),\exists i,j,u\in[l_i,r_i],v\in [l_j,r_j]\),那么这相当于是一个矩形,由于有 \(k\) 个区间,相当于是查询 \(k^2\) 个矩形中的点数,这用主席树做到单次 \(\mathcal O(k^2\log n)\)

神奇的启发式,来啦!让我们聚在一起吧,说时迟,那时快,\(k^2\log n<n\) 时用算法二否则用算法一,则复杂度为

\[\max\sum_i \min(k_i^2\log n,n) \]

又因为 \(\sum k\le n\),所以最后复杂度为 \(\mathcal O(n\sqrt{n\log n})\) 可以过 \(80\) 分。

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

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

相关文章

DDL转换,一键导出表结构,生成DDL语句【转载】

源代码:https://gitee.com/wsitm/RuoYi-RDBMS 一、驱动管理驱动管理功能,用户能够上传并配置各类数据库驱动包。无论是常见的MySQL、Oracle、PostgreSQL、SQL Server,还是更多小众的数据库类型,只需上传相应的驱动包,即可迅速完成配置。 这一功能不仅简化了驱动安装与更新…

库卡机器人维修KSS26045硬件错误维修

库卡机器人在使用过程中,可能会遇到常见的KSS26045硬件故障,这些机器人故障大致可以归结为以下几种类型: 先是电源故障。一旦电源系统出现问题,库卡机器人可能会面临无法启动或无法维持正常运行的困境。为了诊断电源故障,可以利用万用表等专业工具来精确测量电源的输出电压…

PHP历理 精准处理数学表达式中的小数末尾零

<?php /*** 精准处理数学表达式中的小数末尾零* @param string $expression 原始数学表达式* @return string 处理后的规范表达式*/ function formatMathExpression(string $expression): string {// 正则匹配所有小数(包含整数部分和小数部分)return preg_replace_callb…

判断 Python 代码是不是 AI写的几个简单方法

作者:Laurel W来源:Adobe作为一名数据科学和数学老师,我其实不介意我的学生使用像 ChatGPT 这样的 LLM,只要它是用来辅助他们学习,而不是取代学习过程。加州理工学院的申请文书指南启发了我为编程和机器学习课制定 AI 使用政策: 哪些是加州理工申请文书中不道德的 AI 使用…

Golang学习Ⅱ

iota,函数多返回值,init函数,import导包 常量定义方式:const a int = 10; const{ a=10 b=20 }1 const{ 2 BeiJing = iota*10 //iota为0 3 ShangHai 4 NanJing 5 } //使用const定义枚举,BeiJing为0,ShangHai为10,NanJing为20View Code

SpringBoot整合RabbitMQ--Direct和Topic模式

一.Direct模式 这几个模式使用SpringBoot的整合和前面使用源生Java整合其实是差不多的,故而步骤就不再详细赘述了,直接先导入依赖:<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp</artifactId&g…

CMS和G1的区别

悲观者从机会中看到困难。乐观者从困难中看到机会。 ——温斯顿丘吉尔区别一:使用的范围不一样:CMS收集器是老年代的收集器,可以配合新生代的Serial和ParNew收集器一起使用。 G1收集器收集范围是老年代和新生代。不需要结合其他收集器使用区别二:STW的时间:CMS收集器以最小的停…

nfls 游记。

省流:三场模拟赛。rk1(2) rk3 rk4Day 1 3.26: 在前面的博客里面。 下午补了 noip2024 T1 。我怎么还是不会写????? Day 2 3.27: 没有模拟赛。组合数学专题。 写了一堆数学题。 中午逃离校园去吃了饭,终于有饭吃了!!!!111 晚上打了一场比赛,后三题全拼的暴力 /q…

PHP2 攻防世界

这题进去之后看到的:介绍该网站?gs,用f12,ctrl+u看都没看出啥。 看了别的博客才知道要看index.phps。第一次知道还有index.phps这个文件好像是扫描index.php的源代码啥的。操蛋 然后就看index.phps里的代码吧:这里看代码, `<?php if("admin"===$_GET[id]) {…

垃圾回收算法哪些阶段会STW

悲观者从机会中看到困难。乐观者从困难中看到机会。 ——温斯顿丘吉尔标记-复制算法应用在CMS新生代(ParNew是CMS默认的新生代垃圾回收器)和G1垃圾回收器中。标记复制算法可以分为三个阶段:标记阶段,即从GC Roots集合开始,标记活跃对象; 转移阶段,即把活跃对象复制到新的内存…

【unity】学习制作2D横板冒险游戏-4-

敌人的基本逻辑和动画 创建文件如图所示c#文件继承父类Enemy给boar挂载代码在敌人脚本中定义基本的变量并实例化面朝方向 在游戏中我们可以看到野猪的默认方向为左边 此时的transform.localscale的值为1我们希望当野猪面向右边时facedir的值为1,以此来判断敌人的面朝方向野猪的…

判断垃圾的方法

悲观者从机会中看到困难。乐观者从困难中看到机会。 ——温斯顿丘吉尔在Java中,判断对象是否为垃圾(即不再被使用,可以被垃圾回收器回收)主要依据两种主流的垃圾回收算法来实现:引用计数法和可达性分析算法。 引用计数法(Reference Counting)原理:为每个对象分配一个引用计数…