GospersHack 算法

GospersHack 是一种高效以二进制 \(1\) 个数为关键词,数相对大小为第二关键词进行排序的线性高效算法。

步骤如下:

\(000111\) 为例,我们怎么求出下一个比它大的数?
显然,我们只需把这一大串 \(1\) 最左边的 \(1\) 左移一位,然后剩下的扔到最右边就行了。

	int lb=cur&-cur;
	int nxt=cur+lb;
	cur=((nxt^cur)/lb>>2)|nxt;
posted @ 2025-08-14 11:32  g1ove  阅读(7)  评论(0)    收藏  举报