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)

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

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

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

原文地址:https://www.cnblogs.com/Kelvin2005/p/15408451.html