20211014省选组总结

因为不想打细节题所以滚来写总结了

这套题面过度玩梗。。。

T1 Hello my friend

题意:树上每个点有黑白两种颜色,如果是黑色则每次走到都有贡献,白色则只有一次贡献,问从点 \(1\) 开始的期望。

(定位是签到题,然而爆零。。。)部分分的提示非常明显

考虑将黑白两种颜色分开做,黑色是经典题目(指不知道叫什么),每个点 \(f_u\) 的表达式都可以写作 \(f_u = k_u f_{fa} + b_u\) 的形式,用这个形式一直转移到 \(1\) 即可, \(b_1\) 即是答案,若是白色点则不计算贡献,将表达式中的 \(+1\) 去掉。

白色的话就是求每个点被到达的概率,维护 \(f_x\)\(g_x\) 分别表示 \(x\) 走到 \(fa_x\)\(fa_x\) 走到 \(x\) 的概率, \(DP_x\) 表示到达 \(x\) 点的概率,像换根DP一样求即可。

注意有两个数据是不符合题目所给 \(d_1>1\) 的条件的( \(d_x\) 为点 \(x\) 的度数)。

T2 Try to find out the wrong in the test

题意:将一个序列分成一些连续的区间,每个点有一个 \(L_i\)\(R_i\) 表示该点所在区间的大小上、下限,要求分出的区间最多,并求出方案数。

首先 \(n^2\) DP是显然的嘛,然后考虑优化。

这个整个是不具有单调性的。。。不要卡死在一个点上了。。。

但是满足 \(R\) 条件的区间是具有单调性的,因此可以对于每个点维护出 \(Left_i\) 表示能转移到该点的最左点,可以用单调队列实现。

然后考虑分治,每次将 \(L\) 最大的点作为分治中心,设该点为 \(L_k=c\),用左边更新右边。

此时我们就知道了每个区间的最小长度,

根据 \(Left_i\)\(i\) 分成 \(Left_i \le l\)\(l < Left_i < k\)\(k \le Left_i\) 三段,

最后一段没有贡献,中间的贡献区间不确定,暴力转移,

前面的一段我们发现有 \(i \le k+1-c\)\(i > k+1-c\) 之分,前者相邻两个 \(i\) 之间的贡献区间只差 \(i-c+1\) 这一个,对于第一个用线段树求解后可直接更新;后者每一个的贡献区间都是一样的,将答案标记打到整个满足条件的区间上即可。

T3 【JSOI2015】投影面积(light)

题意:平面上有一个屏幕和一个光源,还有若干个反射或阻挡的障碍物,求屏幕被照亮区域的占比。

将光线分离成几十万条后暴力判断是否可以到达屏幕。

暴力细节题。。。恶心坏了

posted @ 2021-10-14 20:59  Kelvin2005  阅读(39)  评论(0编辑  收藏  举报