Codeforces Round #169 (Div. 2)
今天人品超好,出了4题,哈哈,把div1的选手算进排名200,这次D题给力了一下,C题的线段树写得卡了比较久的时间,需要加强线段树。
B .
注意每个字符的位置可以随意放,所以我们只要统计每个字母的个数,设字母为奇数个的有cnt个,如果cnt == 0 那么一定是First,如果cnt 大于零,那么每次他们都会拿这些奇数个的字母,谁在拿之前cnt == 1那么就是谁赢。
C.
用树状数组或线段树统计一下每个位置要加的次数,然后让次数多的跟值大的相乘可以使答案最大。
D.
把l,r都化成二进制数,然后从最高位开始向后考虑, 如果两位值相等,该必为0, 如果两位值不相同,l位为0,r位为1,此时该位取1最优,此后的几位遍都是1,(可以把所有情况都考虑一下,很容易得出结论)。
code
E.
看不懂题意,诶,明天起来搞一搞