警钟敲烂:如何写lg数组
查看原帖
警钟敲烂:如何写lg数组
378126
anjack_511楼主2023/9/23 00:32

*错误的:

	for(int i = 1; i <= n; i++)
		lg[i] = lg[i - 1] + (1 << lg[i - 1] + 1 == i);

正确的:

	for(int i = 1; i <= n; i++)
		lg[i] = lg[i - 1] + (1 << (lg[i - 1] + 1) == i);

一定注意运算优先级!

2023/9/23 00:32
加载中...