题意: 给定一个数组a,与一个集合B,每次可以选择集合B中的一个元素作为翻转a中一段的大小。使得 ∑ a i \sum a_{i} ∑ai最大 题解: 如果我们有x、y∈B(假设x>y),等价于拥有一个x-y大小置入B中,方法是乘以从大小为 x-y 的区间的位置开始的大小为 x 的区间,和一个大小为 y 的区间,结束于与区间 x 相同的位置.或者,将一个大小为 x 的区间与大小为 x−y
题意: 给定编号从 1 到 n的 n 个元素,元素 i 具有值 ai 和颜色 ci,最初,对于所有 i,ci=0。 可以应用以下操作: 选取三个元素i、j、k(1≤i<j<k≤n),使得ci、cj、ck都等于0且ai=ak,则令cj =1。 问 m a x ∑ c i max\sum ci max∑ci为多少 题解: 可以将这题看成区间覆盖的问题,只要两头有个相同的数显然可以将中间所有的ci
题意: 给定一个值n,表示数组为[0-n-1],其中n一定是2的整数幂,将数字两两配对分别为a[i],b[i],使得 ∑ a i & b i = k \sum a_{i} \&b_{i}=k ∑ai&bi=k, 题解: 1.直接构造出一个答案为k,使得剩下的组合都为0即可。 我们知道: n-1&k=k设c(k)为k的补码, k&c(k)=0 再分情况讨论: Case 0<=k<n−1