当前位置: 首页 > news >正文

题解:CF1770H Koxia, Mahiru and Winter Festival

牛牛题。

题意:给出两个排列 \(p,q\),要求构造一种路径方案,\((1,i)\rightarrow(n,p_i)\)\((i,1) \rightarrow(q_i, n)\),要求经过次数最大的边经过次数最少。

做法:

首先 \(p_i=i,q_i=i\) 直接就是 \(1\),轻松构造。

然后我们就啥也不会了,用 flow 之类的操作也没啥办法,看看 tag 只有一个 constructive,*3500,太困难了。然后点开题解。

发现除了上述情况外,答案至多是等于 \(2\) 的。至于为什么,不大于二可以通过下面的构造得出,这里先证明为什么不能是 \(1\)

考虑假设只有 \(1\)。我们考虑对于 \(x=i\) 这一条直线到 \(x=i+1\) 这一条直线,如果不变那么没问题,但是如果是从排列 \(A\) 变成排列 \(B\),有一部分是在 \(x=i\) 这里动一下,然后走中间的横边,再在 \(x=i+1\) 排序一下。但是在 \(x=i\) 这里一定就得排成一个排列,要不然就会出现两个点一起走,但是这样就一定存在一条 \(x=i/i+1\) 上的边被交两次了,所以一定答案至少为 \(2\)

那么现在我们知道答案是 \(2\) 考虑如何构造。我们不妨考虑先构造出一种通解,其他的在通解的基础上去调整。那当 \(p_i=n-i+1,q_i=n-i+1\) 的时候,感性理解,这样是交叉最多的,并且我们可以说明确实是可以通过这样的情况去构造出其他的解,我们先解释如何构造这种情况的解法。

发现这种情况非常可以递归构造,我们就把 \(1,n\) 的位置拉出来,考虑 \((1,1)\rightarrow(n,n)\) 属于 \(p,q\) 的分别从上面、右边和左侧、下面这两条路径走过,\((1,n)\rightarrow(n,1)\) 同样,这样刚好都是走两遍,并且不影响 \(n-2\) 的构造,只要我们先越过去即可。

给出一个 \(n=6\) 的构造:

如图,红色和蓝色是最外圈的构造,中间的未处理的就递归地到绿色的部分转移到 \(n=4\) 的构造。

那么怎么对所有的进行构造呢?我们注意到 \(i<j,p_i>p_j\) 时两条路径一定有交点。从后往前匹配,考虑如果现在要 \(p_i=x\),那么我们就让前面的 \(x\) 一路往后换,在两条路径的第一个交点交换即可,因为观察到数组一直保持降序,所以一直都是有交点的。

按照上述过程构造即可

http://www.zskr.cn/news/15022.html

相关文章:

  • HarmonyOS之LocalStorage - 详解
  • 国庆集训DAY2
  • 开源 C# 飞快研发(十三)进程--管道通讯
  • PINN训练新思路:把初始条件和边界约束嵌入网络架构,解决多目标优化难题
  • 临项交换
  • 华为设备MSTP - 指南
  • 04. 布局管理
  • VUE - 实战 2
  • 2025/9/29
  • tcp与udp 协议 - 摘星
  • 如何找出集合的两个子集使得和相等?
  • Python语言自动玩游戏的俄罗斯方块游戏程序代码QZQ
  • Spring AI(七)Spring AI 的RAG搭建集合火山向量模型+阿里云Tair(企业版)
  • 禁止DataGridView自动根据数据源的结构生成列
  • 基于Java+SSM+Django宠物医院信息管理系统(源码+LW+调试文档+讲解等)/宠物医院软件/宠物医疗管理系统/宠物诊所信息系统/动物医院管理软件/宠物医院信息管理/宠物健康记录系统 - 详解
  • 实用指南:Coze源码分析-资源库-删除数据库-后端源码-基础设施/数据存储层
  • MyBatis缓存架构深度拆解:从PerpetualCache的LRU陷阱到Redis分布式二级缓存防穿透实战 - 详解
  • 9 30 -
  • 8. Spring AI tools/function-call - 教程
  • LeetCode刷题记录----62.不同路径(Medium) - 详解
  • 「补充篇」在Cloudflare上设置并更新SRV记录
  • 2025电源适配器权威推荐榜:高效稳定、安全耐用的优质品牌之
  • 「LUCKY STUN穿透」IPv4和IPv6分离重定向
  • 如何设计出优秀、健壮且易于维护的API——关于HTTP状态码与业务逻辑状态码的处理 - 浪矢
  • 做题记录(Part 1. 基础算法)
  • 实用指南:零基础学AI大模型之Prompt提示词工程
  • 详细介绍:2023 美赛C Predicting Wordle Results(上)
  • 一阶逻辑及其变体在自然语言深层语义分析中的作用、挑战与未来启示 - 实践
  • 《电路基础》第六章学习笔记
  • 利用IOT-Tree消息流【标签读写】功能详细说明