不用bitset,JAVA可以把空间压缩到60MB
查看原帖
不用bitset,JAVA可以把空间压缩到60MB
410986
hulhul楼主2023/2/28 11:11

不用bitset的解法: 令1插头表示与小于当前数的链接,2插头表示大于与当前数的链接。 将伦敦线上的三个数排序,记为a、b、c,并记录每个数对外的插头,记为pa,pb,pc,插头有4种情况:0、1、2、3,这个3表示当前数即有1插头对外,又有2插头对外(即某个数有下插头和右插头) 然后数可以把数轴分位4段: [1, a), (a, b), (b,c), (c, n * m]

当(pa & 1) == 1时,[1, a)是可以继续填的数;

当(pb & 1) == 1时,(a, b)是可以继续填的数;

当(pc & 1) == 1时,(b, c)是可以继续填的数;

当(pc & 2) == 2时,(c, n*m]是可以继续填的数;

这样就可以省略掉bitSet的空间了。

2023/2/28 11:11
加载中...