CF 1034

CF1034C Region Separation

这题要从“能否把一个子树切开?”来考虑。

如果只能分一次:想分成 \(k\) 个一份,就要在 \(sz[u] \bmod k = 0\) 的地方都切开,看看能否切出 \(sum/k\) 块,能的话有一种方案。

能分多次:可以猜猜结论,枚举一下倍数。

CF1034D Intervals of Intervals

这题有一些不容易想到的想法。

首先我们肯定按照所有区间权值,从大往小取。并且大的区间权值肯定更大。

对于每个右端点,所取的一些区间一定是 \([1,i],[2,i],[3,i]...,[L_i,i]\)

考虑二分一个值 \(val\) ,取掉权值 \(\ge val\) 的所有区间,数这些区间的个数。

按照右端点扫过去,所有 \([1,i],[2,i]...\) 的权值是可以若干次区间加维护的。

可以直接线段树二分。但是有更优的做法,\(L\) 是递增的,可以直接开个差分数组,移动 \(L\) 。(这样的去掉 log 以前在某模拟赛题见过)

CF1034E Little C Loves 3 III

一道构造一个 FWT 能做的式子的题,感觉更像是脑洞构造题。

由于每位 <=3 ,我们乘上 4 的幂次方来区分 popcnt

\(a_x = s_x \times 4^{popcnt(x)}\) 把这个进行 XOR 卷积。

posted @ 2021-05-24 19:42  Rainbow_qwq  阅读(58)  评论(0编辑  收藏  举报