hdu5536 Chip Factory (异或最大值)
题目:给 n 个数,从中选出sis_i, sjs_j, sks_k使得(si+sj)⊕sk(s_i + s_j)\oplus s_k最大,输出最大值。n≤1000,si≤109n \leq 1000,s_i \leq10^9分析:看见异或就换二进制。
枚举sis_i和sjs_j,对于每个和,都在字典树里逐位找使得异或结果最大的那个。找之前把si,sjs_i,s_j从树里删掉。注意字典树不一定非要对
原创
2017-10-02 02:28:17 ·
231 阅读 ·
0 评论