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 217∗172∗4
加了一个小剪枝,步数大于当前答案的时候直接return
T3
二进制的不同位数只有30个
提前预处理,扫b数组,用一个map统计每个数字对应的b的个数。
对于一个数a,和它异或出来仅有两个位置是 1 的b只有 ( n ) ( n − 1 ) 2 \\frac{(n)(n-1)}{2} 2(n)(n−1) 种,所以枚举这两个位置,直接和a做异或。 然后直接把答案累加上map中a异或出来的数的个数。
复杂度 O ( n ∗ l o g n ∗ 450 ) O(n*logn*450) O(n∗logn∗450)
T4
manacher可以拿到优秀的60分
一个字符b会被改变成另一个,当且仅当,某个以a为中心的回文串以它为一个边界,以c为另一个边界,且b和c不同。
所以先跑原串,然后把对应位置标记。
然后修改一次对应位置跑一下manacher。
赛后总结
1.真的,好好刷算阶
2.字符串相关数据结构和算法忘得很多,回文串相关尤其差劲,某天晚上在床上想kmp,一下都没想到板子)
3.虽然和这场比赛无关,但我图论的二分图,匹配,匈牙利算法相关学的不是很好…
4.对拍比我想的时间要长…特别是没写暴力分段的情况下,大概要30min+
以上是关于9.11ZR七连测第三测总结的主要内容,如果未能解决你的问题,请参考以下文章