ABC246D 2-variable Function Solution

更好的阅读体验戳此进入

题面

存在函数 f(a,b)=a3+a2b+ab2+b3,要求 a,b0,给定 n,求最小的 f(a,b) 满足 f(a,b)nn1018

Solution

显然 a,b 的范围不超过 106,则可以枚举 a,二分 b,取最小值即可。

对于二分 b 的单调性证明,可以考虑固定 a 为参数,则有函数 f(b)=b3+ab2+a2b+a3,三次函数不好操作,所以考虑求导,显然 f(b)=3b2+2ab+a2,因为 a,b 非负,所以显然导函数 f(b)0,所以范围内函数取值单调递增,于是可以二分。

或者不进行二分,根据单调性,显然 a 减小时 b 不会比上次更大,所以写个双指针枚举,a 升序,b 降序,小于 n 时直接 break 即可。

Code

UPD

update-2022_10_21 初稿