摘要:
考虑按时刻从早到晚模拟,计算出f[i]:到达i点的最晚出发时间g[i]:为了赶上第i辆车的最晚出发时间然后将所有到达n号点的巴士按到达时间排序,查询的时候二分查找即可。时间复杂度$O(n\log n)$。#include#include#include#include#define N 300010... 阅读全文
摘要:
考虑按x坐标排序后分治,只需考虑计算左下角在[l,mid],右上角在[mid+1,r]的矩形数。对于[l,mid]的点,从右往左考虑,求出它可以贡献到的纵坐标区间。对于[mid+1,r]的点,从左往右考虑,求出它可以接受的纵坐标区间。然后扫描线+Treap维护即可,时间复杂度$O(n\log^2n)... 阅读全文
摘要:
莫队算法,考虑如何快速维护最大的重要度。考虑到答案一共只有$O(n)$种本质不同的取值,于是可以先通过$O(n\log n)$的排序处理出这些值的大小关系,并将这些值离散化,同时对每种事件的每个出现次数维护两个指针pre和nxt,分别表示出现次数减少或增加一后是第几小。然后对这些取值进行分块,每块维... 阅读全文