0917CSP-S模拟测试赛后总结

机房搬家后的首战,便是失利。

依旧是挂掉了。这次状态有大问题。

然而状态的问题归根结底还是实力不行。

大约一个小时左右我拿到了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的声明与运用这些纯靠平时积累的细节问题上耽误了一个多小时。

这就充分证明了书到用时方恨少的道理。

再强调过去已经没有意义了。只希望自己以后能用心一点。

细节问题一定不能再挂了


T1 kill

T2 beauty

100%算法

(我打的并不是题解给出的正解,%%%ooo大神)

找到一个叶子节点开始dfs。定义一个队列,找到一个关键节点就入队。

当找到第k+1个关键节点及以后不再入队,pop队首与当前节点求LCA统计答案。

复杂度:$O(nklogn)$??(最近努力在证明复杂度……哪位大神看一下我的复杂度证的对不对啊QAQ)

(正解$O(n)$??我再看看……)

T3 坑

posted @ 2019-09-18 16:29  hzoi_Joe  阅读(152)  评论(0编辑  收藏  举报