NOI模拟赛Day2

深深的感受到了自己的水

 --------------------------------------------------------------------------------------------------------------------------

T1:

题意:一棵树,有k个关键点,求分成连通块,每块至少一个关键点,使连通块最大最小。 

woc我为啥没想到二分,不懂啊,考试的时候是在梦游吗

二分后判断是否可行

就是一个简单的树上的贪心

可以先bfs一遍倒着来,max表示改点最多能连几个点,sum表示实际有几个点

当改点是关键点时max=k-1 否则sum++

判断改点f=max>=sum?max-sum:-sum

if(f<0)sum[fa[x]]-=f;

else f更新max[fa[x]]  //这里是取max,因为两个联通块是不可能交的

 --------------------------------------------------------------------------------------------------------------------------

T2:

我只会40~60分做法

 

 --------------------------------------------------------------------------------------------------------------------------

T3:

有20分是kmp,其他不会QAQ 

原文地址:https://www.cnblogs.com/wjyi/p/5592199.html