牛客练习赛68(ABC)简要题解

牛客练习赛68(ABC)简要题解

A.牛牛的mex

思路:因为题目限制 n n n个不相同属于 [ 0 , n ) [0,n) [0,n)的数,所以可以求前后缀的最小值,也即

m i n ( p r e [ l − 1 ] , s u f [ r + 1 ] ) min(pre[l-1],suf[r+1]) min(pre[l1],suf[r+1])为答案,注意 p r e [ 0 ] = s u f [ n + 1 ] = n pre[0]=suf[n+1]=n pre[0]=suf[n+1]=n

B.牛牛的算术

思路:这种多维求和求积式一般是化简。

∏ i = 1 n ∑ j = 1 i ∑ k = 1 j i j k \prod_{i=1}^n\sum_{j=1}^i\sum_{k=1}^jijk i=1nj=1ik=1jijk

= ∏ i = 1 n i ∑ j = 1 i j ∑ k = 1 j k =\prod_{i=1}^ni\sum_{j=1}^ij\sum_{k=1}^jk =i=1nij=1ijk=1jk

= ∏ i = 1 n i ∑ j = 1 i j 2 ( j + 1 ) 2 =\prod_{i=1}^ni\sum_{j=1}^i\dfrac{j^2(j+1)}{2} =i=1nij=1i2j2(j+1)

然后可以通过预处理前缀求和,在 O ( n ) O(n) O(n)求出来。

C.牛牛的无向图

思路:考虑对边和询问的权值排序,从小到大的所有路径数即满足答案。

因为之前出现过的路径权值都比当前边权值小,所以从 u u u v v v的所有路径中权值最小的满足条件。

即该边的贡献为: s i z e [ u ] × s i z e [ v ] size[u]\times size[v] size[u]×size[v]

你可能感兴趣的:(Newcode题解)