三角形那个题是这样,先排个序,令X<=Y<=Z,不妨设三边分别为a b c 对任意a 当b \in [1,min(a,Z-a)) 时 c的取值有 [a-b+1,a+b-1]一共 2b-1个 求和后有 (min(a,Z-a)-1)^2个 当 b \in (Z-a,a)时 c 的取值有 [a-b+1, Z] 共 Z-a+b 个 求和后等于 (1.5Z-a)(2a-Z-1) 当 b \in (a,Z-a)时 c的取值有[b-a+1,b-a-1] 共 2a-1个 求和后等于 (2a-1)*(Z-2a-1) 当 b == a时 c的取值为[1, min(2a-1,Z)] 当 b == Z-a时 c的取值为[abs(a-b)+1,Z-1] 最后当 b \in (max(a,Z-a), Y]时 c的取值为[b-a+1,Z]共Z-b+a个 求和为(Z+a-(Y+max(a,Z-a)+1)/2)(Y-max(a,Z-a)) 循环a即可,复杂度O(X)
点赞 2

相关推荐

牛客网
牛客企业服务