9.11ZR七连测第三测总结

Posted 卿吟酒

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了9.11ZR七连测第三测总结相关的知识,希望对你有一定的参考价值。

个人感觉是相对而言比较对胃口的一场

但感觉比赛给的题目顺序不是特别合理

T2和T3反过来会更好一些

(希望能有360)

时间分配

6.10-6.20 看题

6.20-6.35 敲T1

6.35-6.50 想T2,一眼算阶题《***开关》(没收广告费),推细节

6.50-7.20 准备写T2 但又很纠结时间复杂度(有个4的常数),犹疑并想了想优化

7.20-7.40 敲T2

7.40-7.45 检查T2

7.45-7.55 想T3

7.55-8.07 敲T3

8.10-8.20 想明白T4怎么用manacher+贪心跑掉60

8.20-8.35 复习好manacher(总之就是一干二净)

8.35-9??.(具体没记录) 写完T4 60

9.??-9.40 写了个暴力拍了一下T2

9.40-10.00 本来想写个暴力拍3,发现暴力比正解都难写,就躺平了

题目分析

T1

贪心 价值最大的球取加上红球同个数次

T2

这不就是《***开关》吗

所以小朋友们,平时一定要好好刷题哦(大雾)

二进制枚举第一排的状态,第一排状态固定后,往下所有射击都是固定的。

写的时候很犹豫,复杂度最劣到 2 17 ∗ 1 7 2 ∗ 4 2^{17}*17^2*4 2171724

加了一个小剪枝,步数大于当前答案的时候直接return

T3

二进制的不同位数只有30个

提前预处理,扫b数组,用一个map统计每个数字对应的b的个数。

对于一个数a,和它异或出来仅有两个位置是 1 的b只有 ( n ) ( n − 1 ) 2 \\frac{(n)(n-1)}{2} 2(n)(n1) 种,所以枚举这两个位置,直接和a做异或。 然后直接把答案累加上map中a异或出来的数的个数。

复杂度 O ( n ∗ l o g n ∗ 450 ) O(n*logn*450) O(nlogn450)

T4

manacher可以拿到优秀的60分

一个字符b会被改变成另一个,当且仅当,某个以a为中心的回文串以它为一个边界,以c为另一个边界,且b和c不同。

所以先跑原串,然后把对应位置标记。

然后修改一次对应位置跑一下manacher。

赛后总结

1.真的,好好刷算阶

2.字符串相关数据结构和算法忘得很多,回文串相关尤其差劲,某天晚上在床上想kmp,一下都没想到板子)

3.虽然和这场比赛无关,但我图论的二分图,匹配,匈牙利算法相关学的不是很好…

4.对拍比我想的时间要长…特别是没写暴力分段的情况下,大概要30min+

以上是关于9.11ZR七连测第三测总结的主要内容,如果未能解决你的问题,请参考以下文章

9.26ZR七连测第五测总结

9.18ZR七连测第四测总结

ZR十连测第三测

8.28 ZR七连测总结

2021.08.29正睿七连测总结

2021.08.29正瑞七连测总结