A
首先有
b
≤
a
−
2
b\le a-2
b≤a−2
归纳证明
两颗子树,合并时最多多出两个根要么减少一个
1
1
1 度点
要么增加一个
3
3
3 度点,故
b
≤
a
−
2
b\le a-2
b≤a−2
然后有
b
≠
a
−
3
b\neq a-3
b=a−3
我们知道
∑
d
i
=
2
(
n
−
1
)
=
3
×
(
a
−
3
)
+
a
+
∑
i
=
1
c
d
i
=
2
(
2
a
−
4
+
c
)
\sum d_i=2(n-1)=3\times (a-3)+a+\sum_{i=1}^cd_i=2(2a-4+c)
∑di=2(n−1)=3×(a−3)+a+∑i=1cdi=2(2a−4+c)
∑
i
=
1
c
d
i
=
2
c
+
1
\sum_{i=1}^cd_i=2c+1
∑i=1cdi=2c+1 其中
d
i
≠
1
,
3
d_i\neq 1,3
di=1,3,而这是不可能的
B
d
p
i
,
u
=
max
(
u
×
k
,
∑
j
d
p
i
−
1
,
j
6
+
1
)
dp_{i,u}=\max(u\times k,\frac{\sum_j dp_{i-1,j}}{6}+1)
dpi,u=max(u×k,6∑jdpi−1,j+1)
容易发现,
d
p
dp
dp 数组是递增的,每个数有一个不取
u
×
k
u\times k
u×k 的时间
倍增出这个时间就可以了
O
(
6
×
T
log
n
)
\mathcal{O}(6\times T\log n)
O(6×Tlogn)
C
二分答案,每个点维护 d p i dp_i dpi 表示边的最少个数
D
整除分块 O ( n 0.75 ) \mathcal{O}(n^{0.75}) O(n0.75)