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

???

posted @ 2021-01-31 20:07  榴恋666  阅读(106)  评论(0编辑  收藏  举报