NOIP2024模拟赛#26 总结

挂分最多的一场模拟赛。

开 T1,一看数据范围 \(n\le 10\)

直接模拟,旋转两次,每次旋转完再对称一次,取每种情况的 \(\min\) 就行了。

8:10 过了全部大样例。

开 T2,感觉很可做,但是最开始看成选出两个不相交的子串了。

首先答案要最长,第 \(1\) 位还要是 \(1\),所以串中第 \(1\)\(1\) 绝对是答案开头。

其次这个串 \(1\) 后面第一个 \(0\) 应当作为另外一个串的开头。

然后贪心一下。

写代码。加了一些 corner case 的特判。大样例全过了。时间复杂度 \(O(n)\)。此时 9:00。

开 T3,怎么是原。换掉了。

没什么思路,跳。

T4,首先 \(n,q\le 5000\) 暴力重构就可以了。

然后修改次数 \(\le 10\) 的拿暴力也能过。

修改均在询问之前的拿一个支持区间覆盖的线段树写一下就完了。

对于满二叉树,不太会。

对于 \(l=r\),分讨一下,发现可以给原树重标号,然后写一个区间加单点查的线段树就行了。

写了 \(200\) 行,过了小样例,此时 11:30。

T3 想了想没什么思路。写了个 \(O(c^n)\) 的爆搜。

估分:\(100+100+20+35\)

得分:\(100+0+20+25\)

寄完了。

T2 corner case 写假了一个,被多测坑没了。

T4 不知道 \(l=r\) 哪里写挂了。

听讲评,T3 dp 的状态数很少,如果想到转移矩阵,上个矩阵快速幂应该不难。

T4 分块很有意思,感觉可订。

总结:

赛时对于 corner case 的特判记得造个数据验证一下,不要写假了。

对于感觉可以做出的题还是要多想,比如今天 T2。

小插曲:9:00 左右我过了 T2 大样例,Heldivis 突然向我狗叫鸡叫起来。我以为他 T2 过了这么自信,出榜后发现他写的是暴力。。。

讲题时 yyazzy 展示其英语水平,指着其代码中的 flip 函数给大家看,但是被小 L 指出其代码中出现了名字为 clac 的函数。

posted @ 2024-11-22 19:04  zhujiangyuan  阅读(88)  评论(1)    收藏  举报