首页 > 其他分享 >NOI2022 游记

NOI2022 游记

时间:2022-08-21 13:35:48浏览次数:59  
标签:偏序 T3 NOI2022 序列 做法 游记 Day DP

跟风写一篇,整理一下收获

UNR 期间

笔试

给群友分享了黄队的背笔试网站。

赛时错了一个题——选择可执行文件。正确做法是看前面的 rwx 权限,x 表示可执行。但是我看到 .sh 就直接选了,寄得很快。

还差点错了一个题——内存的功能(存放当前 CPU 正在运行或使用的程序和数据)。选项里有一个“仅存放数据”,斟酌了一下没选。

不过后面和同学 diff 了一下,提交了正确答案(大嘘)

Day 1

开场看题,T1 应该不难,T2 一股 AGC 的味道,T3 估摸一下是 DS 优化贪心。

先会了 T3 的 40 分,立刻写了。

T1 标算做法难度不高,主要是注意到汇合后的网友可以一起行动,所以相当于求最早的时刻使所有人走到同一个位置。我一开始没注意到这一点想了个 DP,挨个加入网友,维护每条边上的分段函数。之后对着转移看了看才发现了性质,感觉有点憨憨。最后写的是标算做法。

然后我就感觉:区分度必在 D1T2 上。我先是思考区间 DP,然而它只能判断 T 是否合法,用来计数很难不算重。接下来我把 01 串看作折线,试图分析插入 01 子序列的后果。但怎么想都不会做,最后我交了 10 分的暴力。

测出来发现过了 60 多人?说明此题并不难?

于是我死磕了一天这个题。无果。

Day 2

睡了一觉,我决定把比赛放一放,先重做一下 D1T2。

发现不用区间 DP,而是可以依次加入 T 中的字符,维护最长的 S 的前缀,使得它是当前串的子序列,且去除该子序列的串为括号序列。

当匹配无法进行、括号序列无法扩充同时成立时,我们可以进行“退还”,将当前匹配去掉最短的 0 比 1 多的后缀,从而使括号序列扩充。以匹配长度作为 DP 状态,可得到 \(O(n^3)\) 做法。

因此,再次加深了这样的认识:OI 里 BFS 更重要。如果卡题了,很有可能是思路错了。如果思路正确,思考过程应该是顺利的。

看了题解,朴素的状压 DP 也可以优化到正解,但是我没往这方面想。

剩下的题都有套路可寻,较难想的可能是 D2T1,但本文选择略过。感觉对于我而言,做思路新颖的题才是更重要的。

IOI

感觉 D1T3 非常难啊,后面的优化都还好说,第一步转化成求最多的不相交区间个数,这步感觉最难想到。

我想的做法是直接找区间最大值,然后递归左右边。如果 D 变化的话,就维护关于它的分段函数。但是一旦想到此做法,就难以回归标算。所以需要回溯思考,当觉得不对劲时,看看是不是有简单做法。

D2T3 也是同理,如果先得出充要条件,然后一个劲地只想 dfs 树做法,那么成功的希望不大。

联测

最难受的一次联测:开到了一个看过题解的大码题。于是狂写此题 4 个小时过了大样例,结果爆 0 了。其他题的暴力也挂了。感觉石乐志啊,写码题前还是要分析清楚细节。

最搞笑的一次联测:T1 是简单题,T2 是 DS 优化 DP,T3 是计数。

T2 的转移看似是三维偏序,实则是二维偏序。更恐怖的地方在于:我在推了 1h 后,发现三维偏序也能做,一共有两种转移,代码十分难写。于是不果断地放弃了这题,交暴力。

T3 大概是求很多数的数位和之和。看到题,我直接开始考虑每一位往上的总进位次数。推到后面发现:十分复杂。时间不够,只写了四次方的枚举。其实正解是刻画符合条件的数的性质,直接进行数位 DP:十分简单。

所以还是要选性价比高的题目做。

模板

感觉 NOI 大纲限制很多啊,没很多困难模板。

不过同学打了一些复杂 DS,我跟风做了一下。

Day -2

听时队分享了往年 FJOI,非常搞笑。

晚上围观了线上狼人杀。

Day -1

前面的部分全是这天上午、下午写的。

标签:偏序,T3,NOI2022,序列,做法,游记,Day,DP
From: https://www.cnblogs.com/Alfalfa-w/p/16609855.html

相关文章

  • 万怡酒店游记
    Day-?防疫要求提前一周到昆山,于是要提前一周走。Day-1清空了附中电脑,祝好运。Day0早上坐四个多小时的车子到了昆山,挺难受。下午无聊一下午。Day1联考学校租了一......
  • NOI2022 游记
    NOI2022游寄还没开始就感觉自己会寄。2022.8.19这时候才想起来写博客,是不是有点晚了(这几天都在昆山万怡酒店摸鱼,隔两天考一次多校联考,其他学校暴打hsy,其他大佬暴打我Q......
  • [游记]暑假集训6-2022
    久违的Rank1A. 接力比赛比较显然的$\operatorname{DP}$,两个$01$背包解决问题  #include<cstdio>#include<cstring>#include<string>#defineWRWinterRa......
  • [游记]暑假集训5-2022.8.17
    今天的题目都比较有思维量,嗯A.星际旅行考虑一下去掉那两条有向边,就是一个典型的欧拉回路然后问的就是能够生成的欧拉回路的个数考虑每次删掉两条边,有三种删除方法:$\q......
  • NOI2022赛前随记
    NOI2022赛前随记想了好久到底应该怎么给这篇不成体统的文章命名,却也无可奈何。明明眼前是短短一望便知的尽头,却不忍心写下"退役记"三个字,大概是为自己的前程感到绝望吧,明......
  • [游记]暑假集训4-2022.8.16
    今天还行?不过挂了$85$分A.打地鼠场切签到题  #include<cstdio>#include<cstring>#include<string>#include<queue>#defineintlonglong#defineWRWin......
  • NOI2022 D 类打摆记
    Day-17~-15打了UNR,我是250,挂了一堆分,Cu滚粗了,rp++。Day-13HDU多校,只会签到和一大堆罚时,给队友拖后腿了/kkDay-11HDU多校,还是只会签到和一大堆罚时,给队友拖后......
  • [游记]暑假集训3-2022.8.15
    Rank2,终于没有$\cdots\cdots$不,挂分少了A.数列显然一眼先扩欧发现如果$n$个数中有一个不能被$\gcd(a,b)$整除就无解那么对于每个$x_i$我们要解$ap+bq=x_i$中......