A

略,发现只有当末尾为9时才满足条件..

B

简单模拟,注意数组大小!!!

C

简单模拟。

D

比较暴力的一个做法就是每次找一个开始匹配的起始点,然后每次不同时向后跳2就行了。

注意这里最后还要判断一下剩下的串的个数是不是偶数!!!复杂度应该是\(O(n^2)\)但水过了就是水过了...

E

好题!起码对我来说是这样的,学到了许多的知识...

首先我们先将所有的数字减1,将一个排列位置上的数和它的标号都减一。例如:\(n=4\),\(p[0]=0,p[1]=1,p[2]=2,p[3]=3.\)这是一个排列。或者打乱一下,\(p[0]=2,p[1]=3,p[2]=0,p[3]=1\),这也是一个排列,反正我们就是要将数和位置数都减一。为什么这样做呢,因为像这样的整体移动,往往和对n取模有关,例如当\(k=2\)时,数组变成\(p[0]=2,p[1]=3,p[2]=0,p[3]=1\),我们发现对于\(>=k+1\)的数下标为i的就变成了\(i-k\),这个很好想,毕竟他们就是从原来的数被迫向后推了\(k\)。对于前\(k\)个数我们找一下规律,\(p[0]=2=n-1-(k-1)=n-k,p[1]=3=n-k+1\),同理可推得\(p[i]=n-k+i,p[i]=i-k+n\),发现和\(i-k\)的形式就多了一个\(n\),怎么办,我们取模啊,于是就有了\(p[i]≡i-k\)(%n),也就是说对于一个k,我们就能知道了其序列应该满足上式。之后考率给定一个k我们怎么用最少的次数将它还原成目标数列\(b[i]\),一个做法就是用图论的知识,环图,我们将p[i]向b[i]连边。意思是在p[i]序列中p[i]要和b[i]交换。考虑这样做后整个图一定是若干个环,对于每个环我们要花费环中元素的个数-1的次数才能将环中的数都还原。这样之后我们总的还原次数就是n-环的个数。好了,结束了...

不对啊,难道我们要对每一个k都做一下上述找环的过程吗?这个过程不是\(O(n^2)\)的吗?

考虑题中给的\(m\leq \frac{n}{3}\)有何用意,我们考虑一个能够用m次交换就能成功的排列,那么其最多有2m个数是乱序的,那么也就是说这个排列最少有n-2m个数是在自己本来位置上的。我们可以用一个数组\(cnt_i\)表示\(k=i\)在自己正确的位置上的数的个数。

考虑\(k=0,1,...,n-1\)这n个排列是各不相同,也就是说对于\(k1!=k2,p_{k1}[i]!=p_{k2}[i]\)这样的话由于目标序列只有一个,所以每个位置只会在其中的一个k中是正确的,在其他的位置都不正确,即\(\sum{cnt_i}=n\)。这样的话我们只需要在目标序列上找到其对应正确位置的k值,之后我们只用检查满足要求的k值,等等这样的k值一共有多少个,\(\frac{n}{n-\frac{2n}{3}}\)那不是3吗?

也就是说说最多有3个k值需要我们去找环,放心食用.

F

未完待续...

Harbour.Space Scholarship Contest 2021-2022 (Div. 1 + Div. 2) Editorial题解的更多相关文章

  1. CF1553X Harbour.Space Scholarship Contest 2021-2022 (Div. 1 + Div. 2)

    掉大分 E 对于一个序列,把它排回去的最小次数是 $\sum置换环大小-1=错位个数-置换环个数$ 注意到m小于等于n/3.那么最多修正2m个错位.正确位置的个数必须大于等于n/3才可能在m次内修正. ...

  2. Harbour.Space Scholarship Contest 2021-2022 题解

    多好的上分机会啊,要是换个时间(指改在 NOI 之后)我说不定就能上 2500 了(做白日梦 ing) A 签到题不多说,显然只有末尾为 \(9\) 的数是 interesting 的,因此答案就是 ...

  3. KYOCERA Programming Contest 2021(AtCoder Beginner Contest 200) 题解

    KYOCERA Programming Contest 2021(AtCoder Beginner Contest 200) 题解 哦淦我已经菜到被ABC吊打了. A - Century 首先把当前年 ...

  4. Lyft Level 5 Challenge 2018 - Final Round (Open Div. 2) (前三题题解)

    这场比赛好毒瘤哇,看第四题好像是中国人出的,怕不是dllxl出的. 第四道什么鬼,互动题不说,花了四十五分钟看懂题目,都想砸电脑了.然后发现不会,互动题从来没做过. 不过这次新号上蓝名了(我才不告诉你 ...

  5. Codeforces Round #792 (Div. 1 + Div. 2) A-E

    Codeforces Round #792 (Div. 1 + Div. 2) A-E A 题目 https://codeforces.com/contest/1684/problem/A 题解 思路 ...

  6. CF Intel Code Challenge Final Round (Div. 1 + Div. 2, Combined)

    1. Intel Code Challenge Final Round (Div. 1 + Div. 2, Combined) B. Batch Sort    暴力枚举,水 1.题意:n*m的数组, ...

  7. xHTML+div布局:三个div,两边div宽度固定,中间div宽度自适应

    xHTML+div经常考题:三个div,两边div宽度固定,中间div宽度自适应. 和大家分享一个实现方式: 1.html代码 <div class="dyleft"> ...

  8. getElementsByTagName("div")和$("div")区别

    作者:zccst <body> <div class="selected">1</div> <div class="select ...

  9. 【codeforces】【比赛题解】#868 CF Round #438 (Div.1+Div.2)

    这次是Div.1+Div.2,所以有7题. 因为时间较早,而且正好赶上训练,所以机房开黑做. 然而我们都只做了3题.:(. 链接. [A]声控解锁 题意: Arkady的宠物狗Mu-mu有一只手机.它 ...

随机推荐

  1. 记一次docker compose的低级错误

    记一次docker compose的低级错误 问题 ​ 今天在学习dockercompose的时候,启动docker compose up,结果却出现异常 Error response from da ...

  2. 学习PHP中国际化地数字格式处理

    不知道大家有没有了解过,对于数字格式来说,西方国家会以三位为一个进位,使用逗号来分隔.比如,12345678,用标准的格式来表示的话就是 12,345,678 .不过我们中文其实并不会有这样的分隔符, ...

  3. 前端常用场景总结CSS/JS/插件(实用篇更新中...)

    <div class="box box1"> <span>垂直居中</span> </div> .box1{ display: ta ...

  4. Layui的落幕,是否预示一个时代的结束?

    1.今天,看到LayUi(读音类UI)官方说,LayUI官网将关闭,多少有些伤感. 或许,有人会所,通知里也说了,"新版下载.文档和示例等仍会在Github 和 Gitee" 但, ...

  5. jenkins的目录介绍

    jenkins的目录介绍: /etc/init.d/jenkins                #jenkins的启动文件 /etc/logrotate.d/jenkins /etc/sysconf ...

  6. Python - with 语句

    管理外部资源的背景 在编程中会面临的一个常见问题是如何正确管理外部资源,例如文件.锁和网络连接 有时,程序会永远保留这些资源,即使不再需要它们,这种现象称为内存泄漏 因为每次创建和打开给定资源的新实例 ...

  7. 定要过python二级 选择题第5套

    1. 2.. 3. https://zhidao.baidu.com/question/1952133724016713828.html 4. 5. 6. 7. 8. 9. 10. 11.

  8. CF1556D-Take a Guess【交互】

    正题 题目链接:https://codeforces.com/contest/1556/problem/D 题目大意 现在有\(n\)个你不知道的数字,你有两种询问操作 询问两个下标的数字的\(and ...

  9. 03 依赖注入--01控制反转、IoC模式

    控制反转Inversion of Control DI和IoC几乎都是成对出现的,我们在理解依赖注入之前首先要弄明白什么是IoC,也就是控制反转,体现的就是控制权的转移,即控制权原来在A中,现在需要B ...

  10. python numpy loadtxt

    用numpy加载csv文件数据 发现python numpy loadtxt 方法和数据的结构有很大关系当我的数据有第一行文字是这样子的时候 我程序的运行结果永远都报错,编码格式也处理了统一utf-8 ...