tg 33 solution

T1

一个非常显然的二分答案

就是枚举每个可能的答案

从最左端开始加距离,

如果不合法就取下座山山头

看看能不能安排完所有人,

如果安排完了就向更大值靠近,否则向更小值

半场切,另外半场不知道啥情况

T2

做这个题首先转换下题意,否则就会认为这题相当不可做

实际上就是一次操作会有\(p\)的概率\(+1,1-p\)的概率\(-1\)

问达到\(\sum\limits^{k}_{i=1}n_i\)的期望步数

定义\(f_i\)是在\(i\)位置还需要的步数

于是我们就直接看出\(f_i=p\cdot f_{i+1}+(1-p)\cdot f_{i-1} +1\)

就是\(i\)的期望到\(i+1\)\(p\)的概率,到\(i-1\)\(1-p\)的概率,后边的\(1\)是提出来的

这个式子的终值\(f_n=0\),目标\(f_1\)

但是这个式子如果按正常\(DP,\)你怎么搞,至少有一边没更新到,算的肯定是假的

考虑直接把这个式子的初值扔进去,往下推一轮

\(f_{n-1}=(1-p)f_{n-2}+1\)

\(f_{n-2}=\frac{1-p}{1-p\cdot(1-p)}f_{n-3} +\frac{1+p}{1-p\cdot(1-p)}\)

\(......\)

一直推到最后,\(f_0\)不合法自然这一项无了,于是\(f_1\)就是系数了

T3

\(40pts\)做法:暴力即可

\(60pts\)做法:你可能需要这个:

#pragma GCC optimize(2)

\(100pts\)做法:

分块显然假了,听某gzk说跑不过暴力

分块在最极端情况下可以被卡成平方\(——Delov\)

构造方法为全部斐波那契操作&查询

于是维护区间信息就剩一个线段树了

但是区间信息并不是每个点都相同的,如何维护?

注意到等差数列的公差和首项是可以合并的信息

也就是说,每个查询的区间的任意次等差数列修改等价于进行一次区间修改

维护每个区间的等效修改的信息&区间和

等比(题目性质,公比一定,可以直接分配律合并)就是维护每个区间的首项,

到时候用等比数列求和公式更新答案

斐波那契(可以通过任意相邻两项线性表示)同理

T4

充分体现这不是\(NOIP\)模拟而是省选模拟的题

树分治+FFT好题,但是要等到联赛后再说了

而我的水平能不能撑到联赛后还另说

posted @ 2022-08-20 19:35  2K22  阅读(15)  评论(0)    收藏  举报