大家好,又见面了,我是你们的朋友全栈君。
题解:
闲着无聊做了一遍noip2012
我觉得出题出的好奇怪啊。。。
为什么两道倍增两道二分答案???
两天第一题:
第一天第一题傻逼普及组题没什么好说的了
第二天第一题你会扩欧就秒了
两天第二题:
第一天第二题这道贪心 知道方法就很简单了。。
我记得我去年第一次看这题觉得是完全不可做的
我们考虑一下临位交换法,分析一下就可以得出结论
第二天第二题
像我这种已经半年没用过二分答案的人当然想到的是线段树。。
两天第三题:
都是比较经典的题目
第一天第三题比较简单
首先我们肯定是能把每个点的后继(分a,b)给搞出来的
因为实在不行就上set啊。。。
然后显然就是倍增,当然有些细节要处理
nlogn
第二天第三题
这题难就难在根不能被选
不然树形dp o(n)就解决了
首先想了很久才想到二分答案
我刚开始一直在想怎么考虑调度 但是没有任何方法。。
不二分答案应该真的不太可做。。
然后就简单了,每个点倍增往上跳
然后dfs一遍子树判断可行性
如果有多点在根(子树的根)
我们按照深度排个序,把除了最后一个取出来
然后再把不满足的子树取出来
做个two-point-two就可以了
复杂度Nlog^2
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/155354.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...