对第一篇题解(决策单调性)二分部分的疑问
查看原帖
对第一篇题解(决策单调性)二分部分的疑问
674104
Light_Tea楼主2023/8/17 18:48

rt

il LL calc(int p, int t){
    return dp[p - 1] + 1ll * base[p] * t * t ;
}
il int chk(int x, int y){
	rg int ret = N + 1 ;
	rg int l = 1, r = N, mid ; 
	while (l <= r){
		mid = (l + r) >> 1 ; 
		if (calc(x, mid - s[x] + 1) >= calc(y, mid - s[y] + 1))
			ret = mid, r = mid - 1 ; else l = mid + 1 ; 
	}
	return ret ;
}

这是第一篇题解中的二分,初始左边界设为1,但是若设为一,会出现最终计算出的答案小于sum[y]sum[y]的情况(比如calc中传入的t值是个负数),那么此时不会有什么问题吗,下面主函数中比较返回值不会出锅吗)

我自己将左边界设为sum[y]sum[y]试了一下,是过了的,然后设为1也过了,球球帮忙

2023/8/17 18:48
加载中...