第一题:排序后,取前 2*m 个数字,依次头尾组合即可。理由:假设 a b c d 升序排列,那么 a*d + b*c 是最小的乘积和,因为只要任意改变一下组合方式,比如改成 a*c + b*d,则 (a*c + b*d) - (a*d + b*c) = (b-a)*(d-c) > 0,会变大。 第二题:中午刚学了线段树,不太熟悉,不会写。 第三题:不会。 第四题:幸好有之前写过矩阵快速幂的题,吭哧吭哧折腾了一个半小时才AC,搞的最后第二题都没时间写个暴力版,唉。。。 主要思路是:N 天被 M 个点切割成 M+1 段,每段连续的时间使用矩阵快速幂递推。 以...