标签:https har 开始 简单的 是什么 直接 ret force def
给一个长度为n的数组,可以交换s次相邻元素,求前k个元素和最小为多少
$1?\leqslant?k?\leqslant?n?\leqslant?150, 1?\leqslant?s?\leqslant?10^9$
$1\leqslant q_i \leqslant 1000000$
想办法选一些元素作为前k个元素,那么交换的次数就很好计算,并且两个选中的元素顺序不会变
然后想到背包,dp即可
给一个m*n的矩阵,选择一个矩形,使这个矩形四个角的数的最小值最大。
$2\leqslant m,n\leqslant 1000$
$0\leqslant a_{i,j} \leqslant 10^9$
先二分,然后很吓人,实际上想想最坏情况(比较精确)是什么样子。
有一列相同,剩下的列都不同,那么最多m+n个要选择的数字,C(m+n,2)=O((m+n)^2),可以直接暴力统计过。
给一个数组,可以多次交换最前k个数和最后k个数($1 \le k \le \lfloor\frac{n}{2}\rfloor$)
问能不能变成另外一个数组。
发现无论怎么交换,考虑前面的p和后面的q,p从前往后数的位置和q从后往前数的位置如果一开始就不同,那么怎么都不可能变成相同
而如果相同,可以对称地向外或者向内移动
那么只需要判断对称的位置就行了,再考虑一下简单的问题,比如:每种元素个数都相同,奇数的时候最中间元素也要相同
标签:https har 开始 简单的 是什么 直接 ret force def
原文地址:https://www.cnblogs.com/sahdsg/p/14145523.html