答案求的是s[j]+s([j]^s[i])

通过找规律可得(s[j]|s[i])*2-s[i]

题目变成最大化(s[j]|s[i])

同时我们知道A or B =Max s⊆A S^B

每次插入s[j]的时候枚举s[j]的子集

注意插入的时候枚举子集 不能因为 存在某个子集就直接退出

来看这样一个反例

10101111
10101101
00100111

加入第二行的我之前做过 那么我就break显然是不对的 因为显然第三行的东西我仍要做 但是他在第二行枚举子集的时候并没有枚举到第三行 所以不可以直接退出

 

分类: 字典树

elijahqi

辣鸡蒟蒻一枚qwq 欢迎加qq qwq 2922945330

发表评论