首页 > 其他分享 >[ICPC2017 WF] Scenery

[ICPC2017 WF] Scenery

时间:2024-05-04 19:11:06浏览次数:15  
标签:Scenery ICPC2017 frac WF text lfloor 查集 geqslant mod

提供一个 \(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))\),由于并查集常数较大,需要加一些减枝才能通过。

标签:Scenery,ICPC2017,frac,WF,text,lfloor,查集,geqslant,mod
From: https://www.cnblogs.com/zhouhuanyi/p/18172577

相关文章

  • #交互,dp#洛谷 7998 [WFOI - 01] 猜数(guess)
    题目传送门分析首先要搞清楚,交互库的自适应会让区间长度尽可能增大(答案自适应)也就是说,如果现在区间为\([l,r]\),你选取的区间为\([l',r']\),那么交互库会让你的区间变成\([l,r'-1]\)和\([l'+1,r]\)中区间更长的那一个,不妨枚举这个长度设\(dp[i]\)表示区间长度为\(i\)......
  • Hive中的FileFormat、RowFormat和SerDe总结
    Hive如何读写数据?我们知道,hive表的数据是存储在hdfs文件系统中的。那么Hive是如何将hdfs上的数据文件,映射成一张张表呢,今天就来理清楚这个问题。官方文档中对于Hive读数据的流程如下: 精炼一下:Hive的执行引擎首先通过InputFormat读取一条一条的数据记录,接着调用Serde.destr......
  • FBWF(File-Based Write Filter)是Windows操作系统中的一种功能,主要用于保护系统的存储设
    FBWF(File-BasedWriteFilter)是Windows操作系统中的一种功能,主要用于保护系统的存储设备(如硬盘)免受意外写入或恶意软件的影响。它通过将所有对存储设备的写操作重定向到一个临时缓存中,从而保护存储设备的内容不被修改。FBWF的主要优点包括:简化系统管理:可以在不影响系统运行......
  • 万户ezOFFICE-wf_printnum.jsp存在SQL注入漏洞
    声明:本文仅用于技术交流,请勿用于非法用途由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者不为此承担任何责任。简介万户EZOFFICE是一款办公软件,由中国万户网络科技有限公司开发和提供。该软件提供了一系列办公管理工具,包括......
  • ETL工具-nifi干货系列 第五讲 处理器GenerateFlowFile
    1、今天我们一起来学习处理器GenerateFlowFile。这个处理器创建带有随机数据或自定义内容的FlowFiles。GenerateFlowFile对于负载测试、配置和模拟非常有用。从工具栏拖动处理器到画布,然后选择GenerateFlowFile即可。 2、点击add按钮或者双击 GenerateFlowFile可将此处理器......
  • 【漏洞复现】万户 ezOFFICE wf_printnum.jsp SQL注入漏洞
    0x01产品简介万户OAezoffice是万户网络协同办公产品多年来一直将主要精力致力于中高端市场的一款OA协同办公软件产品,统一的基础管理平台,实现用户数据统一管理、权限统一分配、身份统一认证。统一规划门户网站群和协同办公平台,将外网信息维护、客户服务、互动交流和日常工作......
  • Snowflake 分布式id生成器--生成唯一ID
    在Snowflake算法中,通常包含以下几个部分来构造一个唯一的ID:时间戳(Timestamp):占据了64位ID中的高41位,用来表示生成ID的时间。通过时间戳的递增,保证了生成的ID是递增且唯一的。数据中心ID(DataCenterID):用于标识不同的数据中心,通常占据了5位。机器ID(Worker......
  • 在WF14视图中调用扩展字段
    @*输出引用*@@injectSiteExtendFieldServiceSiteExtendFieldService@Power.VisualizationView(new{Area="FulltextSearch",Action="AdvancedSearch"})@{varsiteList=SiteService.GetSiteList();varextendField=SiteExtendField......
  • snowflake算法时钟回拨问题: 基于逻辑时钟解决方案
    snowflake算法时钟回拨问题:基于逻辑时钟解决方案问题时间的生成完全依赖于本地时钟,在开启NTP协议的情况下,可能出现时钟回拨现象,此时服务不可用为了防止ID被顺序破解,通常自增值不会递增1,可以更加随机的添加递增值解决方案我们需要知道,时钟回拨问题是一个对......
  • snowflake算法时钟回拨问题: 基于逻辑时钟解决方案
    snowflake算法时钟回拨问题:基于逻辑时钟解决方案问题时间的生成完全依赖于本地时钟,在开启NTP协议的情况下,可能出现时钟回拨现象,此时服务不可用为了防止ID被顺序破解,通常自增值不会递增1,可以更加随机的添加递增值解决方案我们需要知道,时钟回拨问题是一个对......