描述

Keroro来侵略地球之前,曾跟Giroro伍长打赌:“我一个人灭掉整个地球给你看!”. 于是Keroro同学真的自己一个人来到地球开始他的侵略行动了。从K隆星出发之前,Keroro从Kururu曹长那儿拿了若干台左手武器{Li}和若干台右手武器{Ri},Keroro需要从{Li}里选一台左手武器,从{Ri}里选一台右手武器,用来组合成可用的恐怖武器。 左右手武器组合的规则很简单,假设从{Li}选出来攻击力为p的武器,从{Ri}选出来攻击力为q的武器,组合起来的攻击力就是p XOR q.

Keroro想知道,他能组合成的最强武器攻击力为多少?

Hint:必须左右手武器都选出来一个,才能组合成可用武器

XOR表二进制里的“异或”操作,pascal语言里是"xor", C/C++/Java里是"^".

输入

第一行两个整数n, m (1 <= n,m <= 100000), 表有n件左手武器,m件右手武器。 第二行n个正整数{L},li表第i件左手武器的攻击力,0 <= li <= 10^12 第三行m个正整数{R},ri表第i件右手武器的攻击力,0 <= ri <= 10^12

输出

最强组合武器的最大值。

样例输入

6 8

179

667

43

65

217

717

798

495

810

380

553

650

350

52

样例输出

1011

#include <stdio.h>
#include <algorithm>
using namespace std;
#define     LIMIT       45
class Trie {public :Trie * children[2];Trie () { children[0] = children[1] = NULL; }void Insert(long long x, int deep){if(deep == -1) return ;int t = ((x >> deep) & 1LL);if(!children[t]) children[t] = new Trie();children[t]->Insert(x, deep-1);}long long Query(long long x, int deep){if(deep == -1) return 0;int t = (( x >> deep ) & 1LL);if(children[!t]) return (1LL << deep) + children[!t]->Query(x, deep-1);else return children[t]->Query(x, deep-1);return 0;}
};
Trie * root = new Trie();
int n, m;int main()
{long long x;scanf("%d%d", &n, &m);for(int i = 0; i < n; i++) {scanf("%lld", &x);root->Insert(x, LIMIT);}long long ans = 0;for(int i = 0; i < m; i++) {scanf("%lld", &x);ans = max(ans, root->Query(x, LIMIT));}printf("%lld\n", ans);return 0;
}

  

转载于:https://www.cnblogs.com/Rosanna/p/3438696.html

2026-Keroro侵略地球相关推荐

  1. 南邮 OJ 2026 Keroro侵略地球

    Keroro侵略地球 时间限制(普通/Java) : 1000 MS/ 3000 MS          运行内存限制 : 65536 KByte 总提交 : 64            测试通过 : ...

  2. njupt Keroro侵略地球

    E. Keroro侵略地球 Keroro来侵略地球之前,曾跟Giroro伍长打赌:"我一个人灭掉整个地球给你看!". 于是Keroro同学真的自己一个人来到地球开始他的侵略行动了. ...

  3. acm.njupt--2026

    Keroro侵略地球 时间限制(普通/Java):1000MS/3000MS          运行内存限制:65536KByte 总提交:35            测试通过:14 描述 Keror ...

  4. Atitit. 常用街机系统and 模拟器总结 snk neo geo cps mame sfc smc

    Atitit. 常用街机系统and 模拟器总结 snk neo geo cps mame sfc smc 1. #-------常用 游戏类型 1 2. 街机的历史 2 3. #=========== ...

  5. 使用01字典树解决最大异或问题

    问题描述: Keroro来侵略地球之前,曾跟Giroro伍长打赌:"我一个人灭掉整个地球给你看!". 于是Keroro同学真的自己一个人来到地球开始他的侵略行动了.从K隆星出发之前 ...

  6. poj 3308(最小割求解最小点权覆盖)

    火星人侵略地球,他们意图登陆破坏某个地区的兵器工厂.据探子回报,火星人登陆的地区为n*m大小的地域,而且每一个火星人的着陆点坐标已知. 火星人很强悍,只要有一个火星人着陆后能够幸存,他必定能毁坏这片区 ...

  7. 疫情期间再读三体(4)——杨冬之死与“终极问题”的思考

    前几期文章分别讨论了<三体>小说中的三体危机.程心的选择.黑暗森林等内容,今天想聊聊三体前期出现的人物杨冬和她思考的终极问题. (ps:以后我也会继续这个系列的更新,但是具体内容还是想到啥 ...

  8. 变形金刚2的影评-《变形金刚3 天网反击战》

    有一个问题困扰了我足足二十年:为什么汽车人要帮地球人? 光用"所有有感知的生物都应享有自由"这个法则是根本说不过去的,因为猪也有感知,但人类就把猪圈养起来,随意杀戮. 从这个角度来 ...

  9. laravel服务容器-----深入理解控制反转(IoC)和依赖注入(DI)

    首先大家想一想什么是容器,字面意思就是盛放东西的东西,常见的变量,对象属性都是容器,一个容器能够装什么东西,完全在于你对这个容器的定义.有的容器不仅仅只是存文本,变量,而是对象,属性,那么我们通过这种 ...

最新文章

  1. .NET中小数,浮点数和双精度之间的区别?
  2. oracle装了客户端怎么登陆账号,分享Oracle 11G Client 客户端安装步骤(图文详解)...
  3. wireshark捕获选项不能用_wireshark的一些基础用法,欢迎收藏
  4. C++ 菱形继承 的 对象模型01
  5. asp.net mysql 增删该查_asp.net 数据库的增删改查
  6. 数字的补数——力扣476
  7. 服务器和数据库基本知识
  8. 异步消息的性能与激情之Netty开发思路
  9. 【VS2015】 C++实现硬件ID的查询
  10. 自考 02333 软件工程 思维导图 结构化方法
  11. 计算机u口保护,U盘写保护怎么办?
  12. 解决QQ 群共享无法打开,页面无法显示
  13. 【python】算术运算报错can‘t multiply sequence by non-int of type ‘float‘
  14. 中国版自动驾驶分级出炉!没有自动驾驶明星公司参与制定
  15. Teardrop代码编程
  16. 树的深度 递归非递归实现
  17. 2019年java_Java回顾#4 – 2019年令人失望
  18. LC463. 岛屿的周长
  19. 系统间数据交互的方案探讨
  20. unity3d中使用CHAI3D

热门文章

  1. HTC Android手机刷机详细全教程
  2. 洪涝有源淹没算法及淹没结果分析【转】
  3. 无人车、无人机、超级高铁、智慧城市......这是一份来自未来的出行报告
  4. 使用搜狗输入法和搜狗浏览器的感受
  5. 代码审查 本地测试经验汇总
  6. 【C语言】C语言成长之路之关于C语言的操作符以及一些表达式的讲解(՞• •՞).
  7. 职称计算机windows 7,2017高会《职称计算机》模块精讲:Windows7的启动和退出
  8. 如何用计算机技术,如何利用计算机技术快速高效建立学籍档案
  9. 另类的 ETL 工具 sed 进阶
  10. 无痕模式后如何找到历史_辞职后,如何找到合适的工作?