CF1209】的更多相关文章

CF1209 A B 水题不管 C 因为要求最终整个序列是要单调的 所以我们就考虑枚举断点$x$ 之后把$<x$的数放到第一个集合 把$> x$的数放到第二个集合 至于$=x$的数 他能放到第一个集合当且仅当后面没有$<x$的数 否则就必须放到第二个集合 在放的时候判断合法性即可 (枚举把$0-9$写成了$1 - 10$就没了QAQ #include<cstdio> #include<iostream> #include<queue> #include…
E 每列都可以沿下滚动若干次,使得各行最大值之和最大 对每列的元素计算最大值,降序排,显然取前\(min(n,m)\)个列处理即可 比较巧妙的动规,设\(f(i,S)\)为前\(i\)列,已经确定最大值集合为\(S\)的其集合的最大值\((\)通俗讲,对于每列,二进制枚举该列设定为最大值的行位置,该行其他值便不需要管了\()\) 考虑类似于背包的转换,对于每个\(S\),填表法去填一个空位置,\(S\)从小到大枚举,即可 细节:滚动数组处理 #include<bits/stdc++.h> ty…