soldiers真乃神题也! 行列显然可以分开处理. 行好办,显然就是一个货仓选址问题,取中位数即可. 列呢?? ?????? 因为懒得推式子,用不了二分,我决定使用枚举大法!一算复杂度O(n^2),勉强可以卡过. 于是我做好了卡常数的准备,正在实现枚举及求值时,得到了援助: 你把士兵按照x排序,然后把x[i] - i即可转化为行上面的. 我略加思索:排好后是x[1], x[1] + 1, x[i] + 2, ..., x[i] + (i - 1) 那么我事先减去,便是x[1], x[1], x…