04 2019 档案
摘要:~~我最近是不是数据结构学傻了啊。。。~~ 这道题看是1e5,所以复杂度为O(nlogn)的是完全可以跑过去的,然后看题,要求的对于每个数满足要求的区间的长度之和,我们自然而然的就可以想到用 FHQ Treap 来维护这个序列了。 ps:不会FHQ的小伙伴们可以学习一下,这也是一个比较好用的数据
阅读全文
摘要:差不多是Dijkstra的裸题吧。。。 这道题可以分为来回两个阶段。 去的时候很简单,直接用一次Dijkstra,然后统计答案。 回来的时候就有些巧妙了,虽然表面上是每个点回到起点,但是何尝不可将其看成从起点出发,逆着每个点过来的路去找一次每个点?所以只需要存边的时候处理一下,然后直接跑Dijkst
阅读全文
摘要:二分答案+堆优Dijkstra 这个题有些巧妙。 首先,因为要在油量耗完之前跑到终点,所以我们可以用最短路。只要从s出发到t,它的最短距离大于油量,我们就可以断定它一定走不通,直接输出1。 然后因为要求最大值最小,所以考虑二分答案。用一个数组来储存点的值从大到小的排序,然后边界范围设置
阅读全文
摘要:这是一个不错的树形结构的题,由于本蒟蒻不会推什么神奇的公式~~其实是懒得推。。。~~,所以很愉快的发现其实只需要两个点之间的关系为祖父和儿子、或者是兄弟即可。 然后问题就变得很简单了,只需要做一个正常的DFS,遍历整棵树,同时判断有没有祖父,如果有就计算,然后遍历自己的儿子,每次判断最大的一个,然后
阅读全文