摘要: 把询问看成二维点,建立kd-tree,每个点维护一个计数器。从1到n依次加入每个数,每次加入一个数时,对于所有包含它的询问,计数器加一,对于其它询问,计数器置0。那么每个询问的答案就是计数器的历史最大值,可以通过打标记实现。时间复杂度$O(n\sqrt{m})$。#include#includeco... 阅读全文
posted @ 2015-12-15 18:32 Claris 阅读(1640) 评论(12) 推荐(2) 编辑
摘要: 一个直观的想法是把每条边拆成两条有向边,同时每条有向边是新图中的一个点。对于两条边a->b与b->c,两点之间连有向边,费用为两条边费用的最大值。然后新建源点S与汇点T,由S向所有起点为1的边连边,T接受所有终点为n的边,那么答案就是S到T的最短路。这样子的边数为$O(m^2)$,不能承受。考虑枚举... 阅读全文
posted @ 2015-12-15 00:07 Claris 阅读(1536) 评论(0) 推荐(1) 编辑