Codeforces Round #172 (Div. 1 + Div. 2)
A. Word Capitalization
- 模拟。
B. Nearest Fraction
- 枚举。
C. Rectangle Puzzle
- 求出两个矩形的点,套简单多边形的面积交板子。
D. Maximum Xor Secondary
- 枚举位置做为次大值,那么分别向左右两个方向找到第一个比当前值大的值即可。
E. Game on Tree
D. k-Maximum Subsequence Sum
做法一:
- 对于线段树上的每个区间,维护4个值:
- \(ms[i]\)表示取了\(i\)个区间的最大值
- \(lms[i]\)表示包含左端点的\(i\)个区间的最大值
- \(rms[i]\)表示包含右端点的\(i\)个区间的最大值
- \(lrms[i]\)表示包含左右两个端点的\(i\)个区间的最大值。
做法二:
- 维护区间最大值以及相应的位置,\(k\)次操作,每次取出区间最大值,然后将相应的区间乘上-1。