GDKOI2021 Day1 总结
\(GDKOI2021 \ Day1\) 游记
昨天刚考完期末考,紧紧张张努努力力埋头苦干复习三天,第一科数学遇上 \(ganmao + biyan\) 直接原地小托马斯720°螺旋爆炸升天(其实期末考从这时起就应该结束了)。
赛时
早上继续头晕(重度 \(biyan\) 三天后准确来说是头晕+头痛,\(baobi\) 了 \(baobi\) 了)。
\(304\) 的电脑开机五分钟表示很淦,随便试了试键盘的手感感觉不太行。
比赛环境监控啥的也 \(chaoji\) 随意呀!\(GDKOI\) 就这?不过开题的时候可以直接 \(copy\) 密码表示好评。
\(8:00 \text{ ~ } 9:00\)
花 \(15min\) 左右快速扫了一遍题目并手玩了最小的样例,4道题只有 \(4h\) 再加上状态不好就打算直接放弃 \(T4\) (本来我的计数就很 \(cai\)),想了大概 \(20min \ T1\),没有任何想法。
于是继续思考 \(T2, \ T3\),发现 \(T2\) 题面神似 "2020.01.16冬令营模拟 上古遗迹(relics)",但是询问非常不一样,而 \(T3\) 似乎很可以用 "2020.01.16冬令营模拟 上古遗迹(relics)"的做法(询问拆分+李超树)。
\(9:00 \text{ ~ } 10:15\)
\(T2\) 大概有了二分 \(L, R\) 对应的 \(f\) 值的想法,\(T3\) 感觉很大概率可以用李超树,然后回头继续刚 \(T1\)。刚了很久也没有思路,又回头瞅瞅 \(T2, T3\),突然发现\(T2\) 的思路貌似有问题,\(T3\) 貌似不可分,一看时间快九点半,感觉要 \(GG\) 于是赶紧码个 \(T1 \ 50ptes\) 稳一手先。
码完部分分就快十点了,估计 \(T1\) 要被切爆,不太甘心,感受感受题面“任意输出一组解”感觉可以水分的呀,于是想了个贪心:每次将一个点加入当前对答案贡献大的集合。很快敲完,但是 \(jio\) 得不太对(赛后同学说知道了贪心做法证明不是显然,但是我 \(biyan\) 降智呀呀呀),就又化 \(5min\) 打了个很假很假的乱搞(本意模拟”模拟退火“但是发现不会,于是只能打了个完全不随机的随机),测了测大样例发现输出和他一样心中稍微一稳,此时 \(10:15\)。
\(10:15 \text{ ~ } 11:45\)
\(T2,T3\) 越看越慌,\(T1 \ 50\) 我该何去何从?
写写画画到 \(10:40\),发现 \(T2\) 确实可以二分出 \(L, R\) 对应的 \(f\),但是依旧没有比较清晰的思路,实在坐不住了就决定先把二分写出来。改改调调 \(11:20\) 感谢上帝我调出来了,思考怎么求答案,想到权值线段树就直接上了。
感谢上帝 \(11:40\) 成功调完,花五分钟小修补过了全部样例。
\(11:45 \text{ ~ } 12:00\)
十五分钟只来及码 \(O(n^3)\) 的暴力,查了无数遍前三题的编译样例文件名数组范围就交了。走出考场心中凉意纵横。
后续
中午吃饭碰见 \(wmydl\),聊了聊 \(T1\),他说 \(tanjan\).....心态没了。
赛后
下午讲题发现 \(T1\) 贪心真了谢天谢地,但是 \(T3\) 貌似确实可以李超树,只是因为我太菜了。晚上出成绩能拿的分都拿到了谢谢天谢谢地。
唯一不太好的就是拟阵几乎全程掉线(我不太行我不太行)。
\(Solution\)
$T1. \ $ 割(cut)
贪心每次将一个点加入其当前对 \(ans\) 贡献最大的集合。
$T2. \ $ 忙碌的出题人(busy)
考虑二分 \(L, R\) 对应的 \(f\),发现若对于 \((i, a_i, b_i)\) ,\([a_i, b_i]\) 为最大的最小值为 \(h_i\) 的区间(\(h_i\) 为 \(i\) 的 \(blocks\) 数),要求 \(f\) 小于等与某个值的区间数,大致是一个值相同的数列和一个等差数列,所以可以 \(O(1)\) 计算,那么就可以 \(O(n)\) 判断。
再考虑怎么求答案,由于保证了 \(R - L \leq 3 \times 10^5\),所以只需要暴力求出所有的 \(f\) 加入权值线段树,在减去一些多算的输出即可。
$T3. \ $ 回文(palindrome)
补充特殊字符后对原串做 \(manacher\),二分答案,判断用 \(st\) 表维护即可。
$T4. \ $ 东方永夜抄(night)
比较神仙,主要是知识点严重超纲(对于我来说),暂时不会
记在最后
明天不垫底就行啊啊啊啊