[ICPC2017 WF] Scenery

news/发布时间2024/5/18 12:35:55

提供一个 \(O(n^2\alpha(n))\) 的做法。

这种匹配问题如果直接寻找最优的匹配方式是困难的,因为 \(\geqslant k\) 的限制,当前匹配的点会对之后的产生不小的影响。但是如果我们 \(\text{fix}\) 好了一个选择的升序位置序列 \(a\),想要判定其是否合法是容易的,需要以下两个条件:

\(1.\) 对于 \(i\in [1,n-1]\cap Z\)\(a_{i+1}-a_{i}\geqslant k\)

\(2.\) 对于一个区间的子集 \(S\),其并集 \(N(S)\)\(a\) 的元素个数要大于等于 \(|S|\),而我们仅需 \(\text{check}\) 并集为一个区间的就合法,所以可以得到 \(O(n^2)\) 个区间有关的约束。

实际上可以发现现在只有对前缀和的约束了(\(1\) 相当于限制 \(s_{i}-s_{i-k}\leqslant 1\)),但由于值域比较大,需要离散化,此时相当于 \(s_{y}-s_{x}\leqslant \lceil\frac{y-x}{k}\rceil\)

直接跑最短路肯定不行,但是我们连出的边其实很有性质,可以对 \(\text{Bellman ford}\) 算法进行优化,关键在于优化 \(\geqslant k\)\(\text{Hall}\) 定理得到的若干个区间约束的部分:

\(1.\) \(\geqslant k\)\(\lceil\frac{y-x}{k}\rceil\) 可以写为 \(\lfloor\frac{y}{k}\rfloor-\lfloor\frac{x}{k}\rfloor+[y\mod k> x\mod k]\),此时由于后面的式子至多贡献 \(1\),保留 \(dp_{x}-\lfloor\frac{x}{k}\rfloor\) 最小其次 \(x\mod k\) 最大的状态一定最优。

\(2.\) \(s_{y}-s_{x}\geqslant [x,y]\) 内的区间个数,这个倒序扫描后实际上就是后缀 \(-1\),在前面添加元素,与查询全局最小值,这个是反向决策单调性,后面的元素比前面优了就一直会比前面优,此时可以用并查集合并两个元素,在并查集上的每一个元素存下单调栈的差分数组,每次修改时使对应并查集的差分数组 \(-1\),如果一个位置的差分数组 \(<0\),则可以将前面的一个元素合并到后面。

复杂度 \(O(n^2\alpha (n))\),由于并查集常数较大,需要加一些减枝才能通过。

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

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

相关文章

linux23-网络传输

linux23-网络传输使用ping检查服务器是否连通使用wget下载文件使用curl发起网络请求ping ping [-c num] ip或主机名-c 检查次数, 不使用-c选项会无限次数持续价差参数: 被检查的服务器IP地址或主机名地址检查baidu.com是否联通 ping baidu.com检查baidu.com是否联通, 检查三次 …

深入学习和理解Django视图层:处理请求与响应

title: 深入学习和理解Django视图层:处理请求与响应 date: 2024/5/4 17:47:55 updated: 2024/5/4 17:47:55 categories:后端开发tags:Django 请求处理 响应生成 模板渲染 表单处理 中间件 异常处理第一章:Django框架概述 1.1 什么是Django? Django是一个高级的Python Web框架…

[openbve站]oldhelps openbve站v0.0.2推出上线公测

[openbve站]oldhelps openbve站v0.0.2推出上线公测 目录[openbve站]oldhelps openbve站v0.0.2推出上线公测1.归档页面增加图片显示 今天(5.4)起,openbve站上线第二个版本。此次更新的主要内容: 1.归档页面增加图片显示

python教程3.3:字符和编码

1、二进制 计算机只能存储和识别二进制,但是人类常用的字母、数字、汉字怎么用计算机存储和识别呢? 人类强行约定一个对应表,把数字、字母和数字进行对应上,这样就可以用二进制表示字母和数字了。 2、ASCII编码 ASCII是美国于1967年创建,只有127个字母和数字(后面扩展128个…

团队作业3--需求改进系统设计

这个作业属于哪个课程 软件工程这个作业要求在哪里 团队作业3--需求改进&系统设计这个作业的目标 明确需求、改进原型、系统设计和测试需求团队Gitee仓库链接 Gitee鏈接团队成员:姓名 学号蔡梓严(队长) 3122004686刘睿 3122004697吴炳辉 3122004709陈翼 3122006207林诗芸…

DNF pvf 各版本客户端下载大全

整个客户端,pvf文件占1600多个G全部版本文件获取: https://githubs.xyz/y16.html60版本,70版本,86,86版本,90等全部都有纯净月魂86版本月魂的初版,没有任何修改。 怪物难度强度大。也是我最推荐的版本。朝暮,追忆,原仿官都有。 算了,我摊牌了,基本上什么版本都有。6…