题解:CF1770H Koxia, Mahiru and Winter Festival

news/2025/10/2 22:37:03/文章来源:https://www.cnblogs.com/LUlululu1616/p/19124108

牛牛题。

题意:给出两个排列 \(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.mzph.cn/news/925373.shtml

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

相关文章

HarmonyOS之LocalStorage - 详解

HarmonyOS之LocalStorage - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco&qu…

南华 NHXJ-02 汽车悬架检验台:实用的技术特性与实操应用指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

建设银行网站理财产品安徽房地产网站建设

pack://application:, pack://application:, 是一个在 WPF (Windows Presentation Foundation) 应用程序中用于指定资源位置的 URI (统一资源标识符) 方案的特定格式。这个格式用于访问嵌入在应用程序程序集&#xff08;assemblies&#xff09;中的资源&#xff0c;如图像、XA…

网站建设后如何修改wordpress 投稿 标签

28-实现 strStr()&#xff08;easy&#xff09; 给你两个字符串 haystack 和 needle &#xff0c;请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标&#xff08;下标从 0 开始&#xff09;。如果 needle 不是 haystack 的一部分&#xff0c;则返回 -1 。 思路…

网站重定向淮北公司做网站

一、对插槽的理解 1.定义及作用&#xff1a; 插槽是一种用于在组件中插入内容的特殊语法。它的作用是让父组件可以向子组件传递内容&#xff0c;从而实现组件的灵活性和复用性。 2.分类&#xff1a; 插槽可以分为具名插槽和作用域插槽。 2.1具名插槽&#xff1a; 具名插槽允许父…

怎么做网站注册登入页面成都网站建设公

统一配置管理中心:TranslationChain 架构的简洁配置管理方案 1. 集中式配置文件设计 config/settings.yaml: # 多环境配置开关 env: production # development|test|production# 模型管理中心 models:openai:class: langchain_openai.ChatOpenAIparams

Spring Boot Logback:实现定时任务日志与业务日志隔离 - Higurashi

1. 问题背景 在 Spring Boot 应用中,我们通常使用@EnableScheduling启用定时任务。这些定时任务在执行过程中,可能会调用 Mapper 方法与数据库交互,产生大量的 SQL 日志。默认情况下,这些日志会与普通业务请求的日…

网络流 最小割 Dinic算法

标准模板 #include<bits/stdc++.h> using namespace std; typedef long long LL; const int N=210,M=5e3+10; int n,m,s,t,d[N],cur[N],vis[N]; int h[N],e[M<<1],ne[M<<1],id=1;//从2,3开始配对 LL…

15.VLANIF(2025年9月30日) - 教程

15.VLANIF(2025年9月30日) - 教程pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco…

国庆集训DAY2

国庆集训DAY2T1 cycle思路 直接暴力\(dfs\) 解法 \(dfs\)限制\(a_i \neq a_{i-1}\) 最后判断\(a_n \neq a_{1}\) 归纳总结解题策略 \(dfs\) 结果 100pts 时间分配 20minT2 factor思路 直接暴力\(dfs\) 解法 直接暴力\(…

树莓派搭建NAS之一:安装系统

准备工作 先提前准备好需要的材料树莓派3B以上版本 16GB+ 内存卡(内存卡速率最好高一些,不然系统容易卡顿) 内存卡读卡器 树莓派镜像烧录器 网线/无线网烧录系统 1、下载并安装 Raspberry Pi Imager 前往 Raspberry…

详细介绍:电子电气架构 --- 中国汽车座舱产品与技术发展趋势展望

详细介绍:电子电气架构 --- 中国汽车座舱产品与技术发展趋势展望pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "…

新手Markdown学习

Markdown 学习 标题 三级标题 四级标题 +空格+标题名称 几个#代表几级标题(最多六级) 字体 Hello,world!(头尾+**) Hello,world!(头尾+*) Hello,world!(头尾+***) Hello,world!(头尾+~~) 引用好好学习,天天…

马云归来,“新零售”不死 - 指南

马云归来,“新零售”不死 - 指南pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco&q…

网站关键词如何选取用织梦做网站需不需授权

FROM Dockerfile中的第一个指令&#xff0c;也是一个必须的指令。它用于指定构建新镜像时所基于的基础镜像。 FROM <image>:<tag> FROM nginx:1.25.1-alpineRUN 指令在Dockerfile中可以出现多次&#xff0c;并且每个RUN指令都会创建一个新的镜像层。为了减少镜像…

银川网站开发公司电话怎么建立自己的小程序

1.更改图像大小 通常情况下&#xff0c;如果我们想在某些上传图片&#xff0c;会发现我们的图片可能会过大或者过小&#xff0c;为此&#xff0c;我们需要调整图像的大小&#xff0c;使之符合网站的规则。 首先打开photoshop&#xff0c;打开一张图片。首先我们需要了解这张图…

SQL正则表达式总结 - 实践

SQL正则表达式总结 - 实践2025-10-02 22:13 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; f…

Pdfminer-Vulnerability-Research

Pdfminer code auditing and script development script path: https://github.com/L1nq0/Pdfminer-CMap-Generator CMapDB Deserialization cmapdb.py#CMapDB._load_data 调用 pickle.loads_load_data 传入参数 name…

从事网站建泰安网站建设公司带

目录 一、界面演示 二、设备列表 三、抖动单元格 四、设备模型 五、设备编辑 本项目的交流QQ群:701889554 物联网实战--入门篇https://blog.csdn.net/ypp240124016/category_12609773.html 物联网实战--驱动篇https://blog.csdn.net/ypp240124016/category_12631333.htm…