首页 > 其他分享 >省选构造专题

省选构造专题

时间:2025-01-14 12:10:22浏览次数:1  
标签:专题 省选 交换 构造 序列 操作 有解 考虑

省选构造专题

The same permutation

首先打个表,发现在 \(1\le n\le 5\) 之内的是否有合法方案的情况为 √××√√ 大了打不出来了

考虑一下 \(4,5\) 连续有解,注意到一个偶数有解,则这个偶数 \(+1\) 也必定有解。

考虑以下构造方法

即对于某一个交换,可以在它前后各添加一个右端点相同的交换,添加前后结果是等价的。

回到上面那个结论,对于新增的点,考虑新增的交换,总共只有偶数个,所以可以在 \((1,2),(3,4),(5,6)\dots (i,i+1)\) 前后进行这个操作。

考虑继续扩展上述结论。

对于一个合法的奇数 \(i\) 发现 \(i+1\) 是否有解似乎不是那么好判断,先跳过,\(i+2\) 也不好判断,也先跳过

发现 \(i+3\) 是可以构造出合法解的,考虑如下构造。

现将 \(i+1,i+2,i+3\) 为右端点 \(1~i-1\) 为左端点通过上述方法处理掉(这是合法的因为 \(i-1\) 是偶数),现在就变为 \(i,i+1,i+2,i+3\) 这 \(4\) 个点 \(\dbinom{4}{2}\) 种交换未处理,这个问题等价于 \(n=4\) 时的构造方案,直接代入即可。

现在合法情况是形如 √××√√??√√??√√??√√... 猜测一下对于 ? 是不可能构造出来的,所以直接写代码

对于 ? 而言确实是无法构造的,考虑证明

有一个结论,每一次交换操作全局逆序对个数的奇偶性会发生变化,考虑证明。首先只用考虑交换的两个数以及它们之间的数的贡献的变化,对于交换的两个数显然 \(|\Delta|=1\),对于中间的数分讨一下它和交换的两个数的大小关系发现 \(|\Delta|=0/2\),证毕

所以只有交换总次数是偶数才会有解,而 \(n \bmod 4 =2/3\) 时 \(\dbinom{n}{2}=\dfrac{n(n-1)}{2}\) 是奇数,所以无解。

证毕

所以考虑以上构造方法,用链表进行维护即可。

时间复杂度 \(O(n^2)\)。

[AGC006E] Rotate 3x3

先判断掉一些显然的错误。

可以转化题意变为

给定一个排列 \(a\),\(01\) 序列 \(b\)。

可以无限次进行下述操作:

翻转相邻 \(3\) 个元素,并使它们对应的 \(b\) 序列异或上 \(1\)

问是否存在操作使得 \(a\) 序列升序时,\(b\) 序列全为 \(0\)

显然有每个数只能在下标奇或偶上移动,取决于最初的状态。

现在毫无头绪啊,发现第四个样例根本模不出来,写个暴力试试。

发现很多有解的操作序列中都有一段很有趣的操作。(描述一个翻转操作时设 \(x\) 为中间的那个数)

即形如 \(x,x+2,x,x+2,x,x+2\),仔细研究一下,发现这种操作不会改变 \(a\) 序列,但会使 \(b_x,b_{x+2}\) 异或上 \(1\)。

这是一个有力的工具。

由于 刷题=IOI赛制,猜测一下能在不改变 \(a\) 的情况下改变 \(b\) 有意义的操作的只有这一个,所以写个 \(O(n^2)\) 的冒泡排序模拟排序序列 \(a\) ,得到最终的 \(a,b\),然后套用上述操作的结论(即 \(\operatorname{xor}_{2\mid i}b_i=0\) 且 \(\operatorname{xor}_{2\nmid i}b_i=0\) 时有解),交上去发现只有 TLE 没有 WA!

考虑用树状数组优化上述做法,交上去发现 AC 了。

仔细思考一下,能得到下述严谨做法。

考虑一个翻转操作,会在不改变奇偶一方 \(b\) 序列异或和的情况下改变另一方的异或和。

这启发我们研究交换次数,而交换次数这个东西又是和逆序对挂钩的(考虑分奇偶后)。

所以可以分别求出奇偶的逆序对,然后套用上述结论 \(\operatorname{xor}_{2\mid i}b_i=0\) 且 \(\operatorname{xor}_{2\nmid i}b_i=0\) 时有解。

时间复杂度 \(O(n\log n)\)。

标签:专题,省选,交换,构造,序列,操作,有解,考虑
From: https://www.cnblogs.com/07Qyun/p/18666961

相关文章

  • AcWing算法周赛第6场 | 3735 构造完全图
    学习C++从娃娃抓起!记录下AcWing备赛学习过程中的题目,记录每一个瞬间。附上汇总贴:AcWing算法周赛|汇总【题目描述】给定一个由nnn个点和......
  • UsernamePasswordAuthenticationToken 类的构造器逻辑,来控制 isAuthenticated 的默认
    publicclassUsernamePasswordAuthenticationTokenextendsAbstractAuthenticationToken{privatefinalObjectprincipal;privateObjectcredentials;//构造器1:未认证时调用publicUsernamePasswordAuthenticationToken(Objectprincipal,Objectcredent......
  • 拷贝构造函数
    文章目录一、4.拷贝构造函数今天我们来学习拷贝构造函数。一、4.拷贝构造函数如果⼀个构造函数的第⼀个参数是自身类型的引用,且任何额外的参数都有默认值,则此叫做拷贝构造函数,也就是说拷贝构造是⼀个特殊的构造函数。它的形式是这样的:#include<iostream>usin......
  • 代码随想录:从中序与后序遍历序列构造二叉树
    /**Definitionforabinarytreenode.structTreeNode{intval;TreeNode*left;TreeNode*right;TreeNode():val(0),left(nullptr),right(nullptr){}TreeNode(intx):val(x),left(nullptr),right(nullptr){}TreeNode(intx,TreeNo......
  • 【电源专题】开关波形测试为什么需要探头尖端适配器,没有的话怎么低成本改造一个?
        在文章【电源专题】为什么测试电源的SW波形上冲振荡之前的0V电位要先来个小的下降-CSDN博客中我们提到了开关波形的形成,那么开关波形的测试过程中我们需要注意什么呢?        对于开关电源和电机驱动电路等,在测量功率元件管脚来观测开关位置波形的时候,因为......
  • 【专题】2024年电商报告汇总PDF洞察(附原数据表)
    原文链接: https://tecdat.cn/?p=38770在当今数字化浪潮汹涌澎湃的时代背景下,电商行业已然成为全球经济格局中极具影响力与活力的关键领域。从中国电商市场的增长压力与结构变化,到各类促销活动背后的消费者行为逻辑;从不同平台内容创作者生态的差异化表现,再到跨境出海、AI技术应......
  • 第三届智能决策论坛|决策大模型专题报告——随笔(1)
    前言这次汇报的有四位老师,其中我比较感兴趣的是上海交通大学张伟楠老师、北京大学梁一韬老师和清华大学高宸老师的报告,其中张老师之前已经记录过,本文主要作为对梁一韬老师的分享的记录与思考。CRAFTJARVIS:TowardsGeneralistAgentsinanOpenWorldMotivation研究趋势:构......
  • C++ —— 构造函数和析构函数
    C++——构造函数和析构函数引言构造函数析构函数注意事项引言构造函数和析构函数是class和C++的struct专属的功能(C的struct没有),用于管理对象的生命周期。构造函数:在创建对象时,自动的进行初始化工作。析构函数:在销毁对象前,自动的完成清理工作。构造函数访问权限......
  • 2025多校冲刺省选模拟赛3
    2025多校冲刺省选模拟赛3神秘IOI赛制。T1、等差因为是IOI赛制,所以赛时过了整整一车的假做法,包括但不限于什么写了两份假做法,一份发现后面的点T了,另一份发现前面的都WA了,但后面的过了,而且他们两个的并集等于全集,于是发挥了一下传统手艺,将两份代码拼在一起,然后就过题......
  • 【专题】2024年直播、短视频:抖音、小红书、快手行业报告汇总PDF合集分享(附原数据表)
    原文链接: https://tecdat.cn/?p=38697在当今数字化飞速发展的时代,直播、短视频行业已然成为了大众生活与商业运作中不容忽视的重要力量,正不断重塑着信息传播与消费的格局。2024年,这一领域更是呈现出多元且复杂的发展态势。从内容创作者生态来看,抖音、小红书、快手等平台各有热......