二十五、
A、50分很好想:讨论一下每个点的贡献,用树状数组维护一下答案
100pts:预处理建出点分树,每个节点开一个树状数组维护信息,在每一层中都维护每个节点的儿子中有几个是白色的,其余的分类讨论。
B、问题可以转化成每个点的期望和。数形结合求一下就行了。
C、首先将图转成对偶图。一个点被经过当且仅当以它为右端点的最长的线段在对偶图上对应的边被割。这样就变成了“如果割了某一条边,那么另一条边也必须割”。这是一个很常见的最小割的模型。由于最终边的数量与点的数量同阶,所以能跑得很快。
二十六:
A、找规律。先连三个,两个。后面重复交替连。
B、x<=2时先用长度为2的填满,后边补1.
其他的点容易给出一种构造:n-1个1和2结合,最后一条链顺次相连。
这样递归下去,分奇偶讨论。
C、i与pi一定经过交换,经找规律与推理,可得知为i^pi的最高二进制位。