机房搬家后的首战,便是失利。
依旧是挂掉了。这次状态有大问题。
然而状态的问题归根结底还是实力不行。
大约一个小时左右我拿到了T1的部分分。赛时判断了一下大概是高分。
(不过赛后发现确实不算什么太高的分,只能算大众分=。=)
原因是二分策略自己证出来不对了。但是并没有方法能够挽救我的思路。拍了拍,大约7000个点错一个,就交了。
然后去刚T2。想了一个非常nc的算法,(事实证明也的确不对)用到了vector。
打了半个多小时,发现需要sort一下。
然而发现并不会vector内的sort……之前听大佬们用过但是自己并没有研究过。
后来查了是sort(v.begin(),v.end());
可我赛时打的是sort(v+1,v+v.size()+1);
之所以不怕丢人地拉出来,就是要让自己长记性!
只好退而求其次选用大根堆优化一下,不至于每次取出最大值就要把整个vector全扫一遍。
发现大根堆的定义编译不过去。
以为自己单词记错了。整个人都不好了。
大约尝试了30多分钟,正准备放弃。发现是这句话写到了using namespace std的上面。
然而已经没有时间了。
这样我就在STL的声明与运用这些纯靠平时积累的细节问题上耽误了一个多小时。
这就充分证明了书到用时方恨少的道理。
再强调过去已经没有意义了。只希望自己以后能用心一点。
细节问题一定不能再挂了。
T2 beauty
100%算法
(我打的并不是题解给出的正解,%%%ooo大神)
找到一个叶子节点开始dfs。定义一个队列,找到一个关键节点就入队。
当找到第k+1个关键节点及以后不再入队,pop队首与当前节点求LCA统计答案。
复杂度:$O(nklogn)$??(最近努力在证明复杂度……哪位大神看一下我的复杂度证的对不对啊QAQ)
(正解$O(n)$??我再看看……)
T3 坑