NOI模拟赛Day2

馋奶兔 提交于 2020-02-26 20:57:41

深深的感受到了自己的水

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

 

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 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!