E. Keroro侵略地球

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里是"^".

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

最强组合武器的最大值。

思路:参看CF round_173 div E题

#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;
}

njupt Keroro侵略地球相关推荐

  1. 南邮 OJ 2026 Keroro侵略地球

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

  2. 2026-Keroro侵略地球

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

  3. acm.njupt--2026

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

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

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

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

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

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

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

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

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

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

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

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

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

最新文章

  1. Android之二维码扫描的总结
  2. 关于过程和线程的常识点汇总
  3. windows+caffe(二)——图片转换为levedb格式
  4. Android内存分配的注意事项
  5. 磁盘不足 导致内存 linux,为什么 Linux 需要 Swapping,仅仅是内存不够用?
  6. 数据结构——>线索化二叉树
  7. Eclipse之Android开发环境搭建
  8. 全图范围设置(转自Esri中国社区)
  9. 未处理的异常: 0xC0000091: Floating-point overflow 的解决办法
  10. 人工智能如何影响5G网络标准?
  11. 笔记——关于每次重启之后,虚拟机网络无网络访问权限的解决方法
  12. C语言练习题,从键盘输入一个字符,在给定的字符串中寻找该输入字符,若找到将该字符从字符串中删掉,并输出该字符串,没有找到给出提示信息“未找到”。
  13. 交流电机,如何用低成本的方案测试电机堵转?
  14. Kyrie Irving邀请粉丝加入Lineage Logistics的Share A Meal运动,帮助受COVID-19疫情影响的人们
  15. 解决 苹果ios input输入框弹出输入法 但是 无法输入内容问题
  16. 伪静态网站安全攻防如何理解
  17. 【物联网竞赛-LoRa计数器系统开发(Flash的存取)】
  18. 如何进行批量导入通讯录,简单易学
  19. selenium环境搭建,版本火狐52+selenium 3.3 +geckodriver 15.0
  20. PC端和移动端网页特效,fastclick插件,Swiper插件,Bootstrap等框架,本地存储

热门文章

  1. 一个Python里最好的分词库!
  2. 从《娱乐至死》到温水青蛙
  3. ES限流导致ES数据更新不及时问题
  4. S君 被父母毁掉的一生 r瓴
  5. 谷歌浏览器点击任意部分都会出现黑色光标
  6. 天津电子计算机职专什么时候开学,2020年开学时间表
  7. 个人站——联系我页面设计
  8. Geek05 学习记录
  9. 跟我学UDS(ISO14229) ———— 0x2C(DynamicallyDefineDataIdentifier)
  10. JavaScript 判断国内外浏览器类型和内核(含360,QQ,搜狗等)