【口胡系列】牛客小白月赛9

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Joky_2002/article/details/84240638

题目链接

挑了几题口胡+写了一发

这里合在一起讲好了

C:
经典题目
20 + 20+ 个树状数组分开维护二进制上每一位为 1 1 的有多少个数
然后查询直接 20 20 个树状数组直接查就好了

D:
经典题目吧。。
树转区间,线段树维护数的和 以及 平方和,搞搞就好了

I:
被常数卡的想骂人
分开考虑每个点的贡献,对于每个点考虑 他的贡献为 k k 条链中至少一条经过这个点的概率
正难则反,考虑上述概率为 1 k 1-k 条链中没有一条经过该点的概率
这个概率显然好求,显然就是没经过这个点的链的数量除以总的链的数量再来个 k k 次方
但是这样直接快速幂求 k k 次方会T掉,考虑用欧拉降幂搞搞
然后就做完了

J:
傻子题
显然对于一个 i i ,答案为 f ( i , k ) = Π p i   C ( k 1 + a i , a i ) f(i,k) = \Pi_{p_i} \ C(k - 1 + a_i,a_i)
然后又容易发现 f ( i , k ) f(i,k) 是个积性函数
那就直接预处理 C ( k 1 + a i , a i ) C(k - 1 + a_i,a_i) ,然后再上个线性筛把 f ( i , k ) f(i,k) 筛出来就好了

然后就做完了

(可能以后会贴代码
另:有没有神仙教教我 G G 啊,太难了实在不会\可怜\可怜

猜你喜欢

转载自blog.csdn.net/Joky_2002/article/details/84240638