T1
写挂了……
首先要离散化一下,那么就只有关键点了。
设dp[i]为到i为止全覆盖的方案数。
就很明显有状态转移方程 (f[r] += sumlimits_{i=l-1}^{r}f[i]) 。
到此为止,就挂掉了!
一个区间对左端点往前的位置是没有影响的,也就是那部分需要将dp翻倍。
所以使用线段树维护即可。
T2
发现 (C^{6}_{12} > 920) 。
可以对于每一个数,都用一个12位的01串,且有6个1来表示。
h即为第一个x为1且y为0的地方即可。
T3
并不是很懂正确性。
如果有一个点权值最小,那么当他父亲选中后会立刻选中它。
也就是可以使用set来一点点缩点。设一个点权值和为c,大小为siz,那么比较的时候要 (frac{c_i}{siz_i} < frac{c_j}{siz_j}) 。