关于wqs二分
查看原帖
关于wqs二分
141599
sinsop90楼主2023/2/8 20:46

1.如果凸包上有切不到的点怎么办?

2.wqs的二分应怎么写呢:

为什么以下第一种过不了, 第二种能过啊

int l = 0, r = g[n][n], ans = 1e18;	
	while(l <= r) {
		int mid = (l + r) >> 1;
		check(mid); 
		if(h[n] >= k) l = mid + 1, ans = mid;
		else r = mid - 1;
	}
	check(ans);
	write(f[n] - ans * k);
int l = 0, r = g[n][n], ans = 1e18;	
	while(l < r) {
		int mid = (l + r) >> 1;
		check(mid); 
		if(h[n] >= k) l = mid + 1;
		else r = mid;
	}
	check(r);
	write(f[n] - r * k);
2023/2/8 20:46
加载中...