模拟赛 2

news/2024/11/17 8:38:35/文章来源:https://www.cnblogs.com/NtYester/p/18550226

11.16

T2

先考虑前两个限制,发现都是与奇偶性相关的,考虑建二分图,在不考虑第三个限制下是一个最大独立集计数。

发现由于连边方式是每一位向相邻两位连边,那么最大独立集数一定是 \(\frac{n}{2}\),并且一定形如先选一段奇数再选一段偶数的形式。

再考虑一下第三个限制,考虑对每个配对的 \((l,r)\) 加上一条 \(l\to r\) 的边,发现只有最外层括号的限制是有用的,因为内层括号的限制一定被外层括号的限制包含,那我们考虑枚举奇数和偶数的分界点,发现每个限制实际上就是形如区间 \([l,r)\) 不能选,我们考虑把左括号设为 \(1\) 右括号设为 \(-1\) 那么能选的 \(r\) 实际上就是前缀和为 \(0\) 的地方,上线段树维护即可。

T3

考虑没有包含关系是好做的,在离散化后你暴力修改覆盖区间是均摊 \(O(1)\) 的,考虑有了区间包含后一定优先选择被包含的区间,那我们考虑维护一个待选区间的集合,每次取出最小的区间后将包含他的且不被别的区间包含的区间加入即可。

比较简单的实现方法是拿线段树优化建图建出一个 DAG。

P11281

小猜一手结论有最后的合法状态肯定是形如 \(p_{p_i}=i\) 的,先把给定的限制加上,然后若干不确定的位,数量记为 \(m\),再钦定若干位为 \(p_i=i\),然后剩下的位置两两配对算方案数就行。

P11282

考虑按 \(pos\) 的奇偶性分类讨论。

对于 \(pos=1\lor pos=n\) 的数,不难发现在 \(n>3\) 时均有解。

对于偶数位,考虑先对 \([1,pos-1]\)\([pos+1,n]\) 进行操作,那么最后肯定会剩下三个数,因为我们只在意首位两个数与 \(p_{pos}\) 的大小关系,所以我们只用关心极值就行,规定大于为 \(1\) 小于为 \(0\),假如最后能有 \(11\)\(00\) 的情况就是有解,否则无解。

对于奇数位,考虑同样按上面做,那么最后会剩下来五个数,我们还是只考虑和 \(p_{pos}\) 的大小关系,那么最后只有 \(0110,1001,0011,1100,0000,1111\) 六种状态是合法的,因为左右是对称的所以我们只考虑前两个数,对于这些合法的状态我们贪心的让他们尽量被取到,对于第二个数也就是紧贴 \(pos\) 的数,我们选择距离 \(pos\) 最近的 \(0/1\),因为我们要让他保留下来所以对于 \([1,pos-1]\) 的前缀要分给他一个奇数长度的后缀,我们让这个后缀尽量小的前提下,对于剩下的那个前缀去选择他的极值留下来,这样的情况下选择的极值一定是最优的,然后将极值与 \(p_{pos}\) 比大小判定即可。

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

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

相关文章

Pulsar 入门实战(5)--Java 操作 Pulsar

本文主要介绍使用 Java 来操作 Pulsar,文中所使用到的软件版本:Java 17.0.7(Pulsar 服务使用)、Java 1.8.0_341(客户端使用)、Pulsar 3.3.0、pulsar-client 3.3.0。 1、引入依赖<dependency><groupId>org.apache.pulsar</groupId><artifactId>pulsar…

使用Microsoft.Extensions.AI简化.NET中的AI集成

项目介绍 Microsoft.Extensions.AI是一个创新的 .NET 库,它为平台开发人员提供了一个内聚的 C# 抽象层,简化了与大型语言模型 (LLMs) 和嵌入等 AI 服务的交互。它支持通过一组一致且标准化的 API 和约定将 AI 功能无缝集成到 .NET 应用程序中。注意:目前Microsoft.Extensi…

读数据质量管理:数据可靠性与数据质量问题解决之道06数据测试

数据测试1. 运行分析型数据转换 1.1. 确保ETL期间的数据质量1.1.1. ETL即“提取-转换-加载”​1.1.2. 步骤1.1.2.1. 在提取步骤中,原始数据从一些上游数据源中导出,并将其移动到暂存区> 1.1.2.1.1. MySQL> 1.1.2.1.2. NoSQL服务器> 1.1.2.1.3. CRM系统> 1.1.…

鸿蒙NEXT开发案例:计数器

【引言】(完整代码在最后面) 本文将通过一个简单的计数器应用案例,介绍如何利用鸿蒙NEXT的特性开发高效、美观的应用程序。我们将涵盖计数器的基本功能实现、用户界面设计、数据持久化及动画效果的添加。 【环境准备】 电脑系统:windows 10 开发工具:DevEco Studio 5.0.1 …

CuVLER:通过穷尽式自监督Transformer增强无监督对象发现

CuVLER:通过穷尽式自监督Transformer增强无监督对象发现介绍了VoteCut,这是一种创新的无监督对象发现方法,它利用了来自多个自监督模型的特征表示。VoteCut采用基于归一化切割的图分割、聚类和像素投票方法。此外,还介绍了CuVLER(Cut-Vote-and-LEaRn),一种零样本模型,使…

考研打卡(20)

开局(20) 开始时间 2024-11-17 01:43:23 结束时间 2024-11-17 02:20:40再弄一篇数据结构一棵二叉树的前序遍历序列为ABCDEFG,它的中序遍历序列可能是______(湖南大学 2015年) A CABDEFG B ABCDEFG C DACEFBG D DBCEAFGB 答案只要按照前序序列的顺序入栈,无论怎么出栈肯…

考研打卡(19)

开局(19) 开始时间 2024-11-17 00:53:40 结束时间 2024-11-17 01:36:36在网吧数据结构 假设在有序线性表A[1..30]上进行二分查找,则比较五次查找成功的结点数为______(厦门大学 2018年) A 8 B 12 C 15 D 16C 答案查找一次成功的节点数为1,值为15 查找二次成功的节点数…

51单片机定时器数码管显示

51单片机定时器数码管显示 本次的实现效果方式采用模拟进行,芯片为AT89C51,开发软件为keil5,proteus 通过定时器实现数码管0-99秒表计数 @目录上代码效果展示介绍 上代码 代码如下: #include "reg51.h" //包含头文件reg51.h,定义了51单片机的专用寄存器unsigned …

idea安装激活教程(2024.x.x,亲测有效)

前言 很多朋友简信告诉我,看不懂纯文字。好吧,如今重要部分带图片,自行阅读! 第一步 前往idea的官网,下载idea 2024.1.5(博主亲测版本)下载完成后,进行安装,next,安装完成 首次打开,会要求输入激活码才能使用 第二步 点击获取补丁文件 保存下载之后 进入文件夹*** /Je…

基于字符数组s[]的s,s

看这样一段代码: #include <iostream> using namespace std;int main() {const char s[] = "hello";cout << "Array content (s): " << s << endl; // 输出字符串内容cout << "Address of s (&s): " &…

UE5 打包安卓后出现permission required you must approve this premission in app settings: storage弹窗

论坛里面有人给出了利用UPL解决的方法但不会UPL,没有使用这个方法,而是参考了这篇知乎文章 其实都提到了在项目文件\Intermediate\Android\arm64_AndroidManifest.xml这个文件中的修改, 而在一开始的这个弹窗是其中的这条语句<meta-data android:name="com.epicgame…

20222405 2024-2025-1 《网络与系统攻防技术》实验六实验报告

1.实验内容 经过高强度的攻击渗透操作,我现在已经熟练的掌握了Metasploit工具的用法,也深刻体会到漏洞的可怕之处,这些漏洞会严重威胁到我们的隐私安全。 2.实验过程 (1)前期渗透 ①主机发现 输入命令msfconsole进入控制台 再search arp_sweep搜索一下成功找到 输入use 0使…