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好题,但是要等到联赛后再说了
而我的水平能不能撑到联赛后还另说

浙公网安备 33010602011771号