CF数据结构练习(二)

1. 833D Red-Black Cobweb

大意: 给定树, 边为黑色或白色, 求所有黑白边比例在$[\frac{1}{2},2]$内的路径边权乘积的乘积.

考虑点分治, 记黑边数为$a$, 白边数为$b$, 每添加一条新链$(a_1,b_1)$, 它与已经更新过的链之间产生贡献要满足$a_0+a_1\le2b_0+2b_1,2a_0+2a_1\ge b_0+b_1$, 典型的动态二维数点问题, 离线以后CDQ即可, 复杂度是$O(nlog^3n+nlogP)$, 看了官方题解, 符合要求的树链可以转化为用$2a\le b$的树链除去$2b \ge a$的树链, 这样就是动态的一维数点问题, 可以直接树状数组, 复杂度$O(nlog^2n+nlogP)$

 

2. 833E

 

4. 837G Functions On The Segments

大意: 给定$n$个函数$f$, m个询问求$\sum\limits_{ l\le i\le r} f_i(x)$

 

7. 840D

大意: 给定序列, 每次询问求$[l,r]$范围内出现次数$>\frac{r-l+1}{k}$的最小的$x$

直接主席树上二分即可

 

8. 845D

 

9. 845E

转载于:https://www.cnblogs.com/uid001/p/10715179.html

你可能感兴趣的:(数据结构与算法)