摘要: T1: 对于同一种选取方案,在时间上是单调的。 如果单调下降,那么该方案的最优点在0,反之可以二分位置。 现在我们需要求得在某个时间上的前m小值,用nth_element即可。 时间复杂度$O(nlog\max(ans))$。 T2: 每条路径的意义就是两端的点权之和。 我们可以折叠所有点到根节点的 阅读全文
posted @ 2019-10-03 14:07 hz_Rockstar 阅读(213) 评论(0) 推荐(0) 编辑
摘要: T1: 区间很大,但是最优位置可能出现的地方不超过$2n$个。 可以将区间端点及最优值可能出现的位置离散化,即每个区间的$l$、$r$和$r+1$,连同$1$一起离散化。 然后线段树维护就即可。 要同时维护最左侧的$0$和$1$,当前区间是否全为$1$或全为$0$。 修改时如果是区间赋值,直接覆盖答 阅读全文
posted @ 2019-10-03 12:14 hz_Rockstar 阅读(161) 评论(1) 推荐(0) 编辑
摘要: T1: 所有不互质的数对一定在同一集合内。 并查集维护每个数所在集合,以数对为链合并。 但是这样复杂度为$O(n^2)$的。 考虑优化,两个数不互质,意味着他们之间有相同质因子,把每个数分解质因数,和他的质因子合并即可。 线筛处理出最小质因子后可以$O(logn)$求所有质因子。 时间复杂度$O(n 阅读全文
posted @ 2019-10-03 11:52 hz_Rockstar 阅读(150) 评论(0) 推荐(0) 编辑