Atcoder Regular Contest 124 (vp)比赛记录
Atcoder Regular Contest 124 (vp)比赛记录
通过情况
赛时:A
赛后:BCD
(好菜啊,赛时只会做一个题,咋回事啊)
题解
A
傻逼题,略
B
我们显然可以 的 check 一个数
然后就 枚举一对 ,check一下 行不行,得到 做法
与NOI不同的是,这玩意没部分分,必须更快
一个事实是,对于一组满的匹配, 肯定有一个匹配(废话)
然后我们枚举 匹配了哪个,check一下,变成 就行了
C
注意到,最后剩下来的两个 情况数不会很多。我们可以从直觉上感觉到这个 非常的少。
注意到红色和蓝色并没有区别。考虑这样转换,我们就随便分两堆,最后 和 肯定不在一个堆,令 那个堆是“红”, 那个堆是“蓝”,就行了。容易发现这样肯定不重不漏,确实是等价的。
然后红色堆的 一定是 的因数,蓝色堆的 一定是 的因数。打开 factors.jpg,发现这两个东西都 ,暴力枚举
又注意到 ,容易想到,这样枚举一波之后, 的 check 一遍,看看行不行
复杂度
D
套路的,把置换分解成环
设序列的前 个为 部分,后 个为 部分。
一条环上,会有若干条边。如果一条边连接的两个点在一个部分,那这个边上的点就不能交换,这边就无效了。给它打一个叉叉,记作 边(形 象 生 动)。如果两个点同属 部分,记作 边;同理有 边
对于一条跨过 两部分的边,给它打一个√,记作 边 (形 象 生 动)
如果一个环全是 边,显然它就是一个随便换的环,有一个经典结论,可以 步把它交换到位 (到位:即 位置上的值是 ,也就是目标状态)
如果一个环里有 个点,并包含至少一个 边(那就一定会有两个),容易手玩出,也容易证明出,这个环也可以 步到位。
反过来,如果一个环里都是 边,似乎不太好做。假设这个环里有 个点。
我们肯定不能考虑在环内动手脚了,毕竟一条边都不能动。容易想到,从另一个部分里面“借”一个东西来,交换一圈,再“还”回去。容易手玩出,这样最少 步,就可以让这个环里都归位,且这个“借”来的东西还在原位不变。
一个例子:
,
(符号|分割A,B两部分) (step) : (p) 0: 2 3 1 | 4 1: 2 3 4 | 1 2: 1 3 4 | 2 3: 1 2 4 | 3 4: 1 2 3 | 4
用了4步, 把序列变成了 ,左边全部归位,借来的 “4” 位置不变
称:有至少一个 边的环为 环,全是 边的环为 环。
那我们的一种方案就是,
这里的 表示 环集合, 环集合, 是一个环, 表示这个环里有多少个点
这个式子可以化一下,把所有的 和 分开。所有的 加一块就是 ,这些 加起来就是数量。所以这个式子就是
这样一定优吗?
注意到,对于一个 环和一个 环,我们可以交换它俩的一个元素,使它俩合并为一个 环。合并成 环之后,似乎能快两步,抵消了合并这一步,并且更优
现在设 表示 环的数量, 表示 环的数量, 表示 环的数量。我们的策略是:
-
花费 步,合并。合并时,两个 环变成了一个 环
于是剩下 个 环,以及 个 环
-
接下来就是, 环花费环长+1步, 环花费环长-1步。
考虑这样的总代价:
令 表示环的总数 。式子又可以化成,。这就是题解里的式子了。
然后就算一波就行了
耗耗反思
这次比赛,不讲武德,来,骗,来偷袭,我这个小垃圾
我劝,这个垃圾zps,耗子尾汁,耗耗反思
赛场实况
赛场上我很快就秒了 A 题,但是 B 题卡了快 2h。完全没有看到 C,D 两题的题面
而我做 B 题时,草稿纸上已经写下了 “枚 ,枚 ,” 的字样,却没想到这 不用枚那么多,转而去想:是不是值不太多?一打表发现随机数据都有 级别,这个思路就直接废了
废你妈啊废再去想一会啊草
然后我就去想神秘分治,甚至是trie树上搞一些神秘操作,一个都没成型
傻逼吧,这一看就不是B题的难度啊
然后我就一直在trie树trie树,trie了俩小时,啪的一下比赛结束,时间就像被吸走了一样
我还没反应过来,比赛结束了,此时我只交了 A 题,看了 A,B 两题。C,D 两题的题面甚至是赛后看的
问题/sol
- 时间分配不当
- 思维不够灵活
- 赛制不够熟悉
sol:目测多打几场,多做点题,就行了
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】