摘要: 最大值和最小值的问题是独立且相似的,考虑最大值:考虑离线,设ask(i,l,r)为以1到i为右端点时左端点在区间[l,r]内的区间最大值的和。从1到n枚举右端点,假设现在是i,那么可以通过单调栈求出最小的j使得[j,i]内a[i]是最大值。然后左端点在[j,i]区间内的所有区间最大值都应当变为a[i... 阅读全文
posted @ 2015-09-20 23:59 Claris 阅读(1595) 评论(0) 推荐(1) 编辑
摘要: 若x与y可能成为好*友,那么它们连出去的点除了x和y之外都相同。于是给每个点一个long long的随机权值,然后每个点的hash值为与其相连的点的权值的异或和,若两个点hash值相等,则可行。给每个点的hash值异或上自己本身的权值再求一次即可得到正确答案。时间复杂度$O(n\log n)$。#i... 阅读全文
posted @ 2015-09-20 22:07 Claris 阅读(482) 评论(0) 推荐(0) 编辑