GDKOI2021提高组 溺水记
GDKOI2021提高组 溺水记
感觉成了炮灰。。。
DAY1
三天中最简单的一天了,但因为我的手残,挂了很多分。。。
割
题目全是使用数学语言描述的,但理解没有问题
题目大意
有一个无向图,将点分成两部分(就像二分图),并且要求两部分之间连的边要是原来的\(\frac{1}{2}\)以上
思路
因为最终的图要像二分图一样,所以可以考虑删边,将一个点放入一个集合中,并删除与该集合连接的边,显然是加入连的边较多的一个集合更优,而题目保证有解,所以\(O(n)\)跑一边贪心即可,但考试时打挂了。。。
忙碌的出题人
直接\(O(n^2)\)硬上,有人用线段树
和ST表
复杂度反而更大
回文
10%
\(O(n^3)\)暴力
30%
manacher
暴力
100%
manacher
预处理+DP
东方永夜抄
Subtask1
暴力枚举
100%
奇奇怪怪的多项式
DAY2
游戏
思路
明显是期望DP
\(p_i\)指胜率(\(\frac{x_i}{y_i}\)),设\(f_i\)表示从\(i-1\)颗星打到\(i\)期望对局的次数,那么
\[f_i=(f_i+f_{i-1})\times (1-p_i)
\]
但方程中仍有\(f_i\),所以转化为
\(f_i=\frac{f_{i-1}\times (1-p_i)+1}{p_i}\),\(f_1=\frac{1}{p_1}\)
接着就可以\(O(n)\)转移了
答案为\(\sum_{i=1}^nf_i\).
群岛
线段树乱搞即可
抄写
manacher预处理回文
堆
使用\(O(n\log n)\)的堆构造方法即可
DAY3
???