警示后人,如果 pre suc 偷懒
查看原帖
警示后人,如果 pre suc 偷懒
1401594
Firsry楼主2025/8/31 22:23
// 如果想偷懒,这里要小心!
	// 由于 rnk 记录的是:小于的个数 +1
	// 所以 pre 就是小于的个数
	// 但是 suc 不一样,因为会有重复
	// 所以应该是 val + 1 的个数
	// 至于 pre 不能是 queryRnk(k - 1)
	// 因为可能小于 k 的和小于 k - 1 的一样多(都没出现)
	// 然后 +1 就炸缸了,反而要大
	inline int queryPre(int k) {
		return queryKth(queryRnk(k) - 1);
	}
	inline int querySuc(int k) {
		return queryKth(queryRnk(k + 1));
	}
2025/8/31 22:23
加载中...