【题目背景】
蜀汉章武元年(221年),刘备为报吴夺荆州、关羽被杀之仇,率大军攻吴。吴将陆逊为避其锋,坚守不战,双方成对峙之势。蜀军远征,补给困难,又不能速战速决,加上入夏以后天气炎热,以致锐气渐失,士气低落。刘备为舒缓军士酷热之苦,命蜀军在山林中安营扎寨以避暑热。陆逊看准时机,命士兵每人带一把茅草,到达蜀军营垒时边放火边猛攻。蜀军营寨的木栅和周围的林木为易燃之物,火势迅速在各营漫延。蜀军大乱,被吴军连破四十余营。陆逊火烧连营的成功,决定了夷陵之战蜀败吴胜的结果。
 
【问题描述】

刘备带兵深入吴境,陆逊却避而不出,蜀军只得在山林中安营扎寨。而刘备在扎营时却犯了兵家大忌,将兵营排列成一条直线,远远看去,就像是一条串着珠子的链,美其名曰:链寨。如果吴军将领是一般人,那么这也许不算什么,而陆逊何许人也,他可是江东才子,能力不低于周瑜的一代儒将。他看到刘备这样排阵,心生一计,决定用火攻破阵。然而,火计除了要有风,选定引火点也非常重要,对于刘备的布阵,最佳引火点一定是n个兵营中的一个。而因为风水轮流转,每天的最佳引火点都不一样。我们给每个兵营定下一个固定不变的火攻值Ai,每天定下一个风水值K,对于每天的最佳引火点,显然是所有兵营中火攻值与风水值异或的结果最大的那一个兵营。然而,陆逊是个谨慎的人,他要观察时机,在m天中选定一个最佳的进攻的日期,为此他演算出了这m天每天的风水值,然后他希望你能够告诉他这m天每天最佳引火点的兵营编号。

这题十分套路,就是Trie,具体不多说了

#pragma GCC opitmize("O3")
#pragma G++ opitmize("O3")
#include<stdio.h>
#include<string.h>
#include<algorithm>
#define N 100010
using namespace std;
int s[N<<5][2],cnt=1,n,m;
void insert(int k,int pos){int x=1; bool d;for(int i=31;~i;--i){d=(k&(1<<i));if(!s[x][d]) s[x][d]=++cnt;x=s[x][d];}s[x][0]=pos;
}
int gMax(int k){int x=1; bool d;for(int i=31;~i;--i){d=!(k&(1<<i));if(s[x][d]) x=s[x][d];else x=s[x][!d];}return s[x][0];
}
int main(){scanf("%d%d",&n,&m);for(int x,i=0;i<n;++i){scanf("%d",&x);insert(x,i+1);}for(int x,i=0;i<m;++i){scanf("%d",&x);printf("%d\n",gMax(x));}
}

Jzoj3908 吴传之火烧连营 (梦回三国系列)相关推荐

  1. 2016暑期集训10 C吴传之火烧连营

    吴传之火烧连营 时间限制: 1 Sec 内存限制: 128 MB 题目描述 蜀汉章武元年(221年),刘备为报吴夺荆州.关羽被杀之仇,率大军攻吴.吴将陆逊为避其锋,坚守不战,双方成对峙之势.蜀军远征, ...

  2. 魏传之长坂逆袭、蜀传之单刀赴会、吴传之火烧连营

    A.魏传之长坂逆袭 时间限制: 1 Sec  内存限制: 128 MB 题目描述 众所周知,刘备在长坂坡上与他的一众将领各种开挂,硬生生从曹操手中逃了出去,随后与孙权一起火烧赤壁.占有荆益.成就霸业. ...

  3. trie树——【吴传之火烧连营】

    突然发现好像没有讲过一种叫做tire树的神奇东西. 问题描述: 题目描述 [题目背景] 蜀汉章武元年(221年),刘备为报吴夺荆州.关羽被杀之仇,率大军攻吴.吴将陆逊为避其锋,坚守不战,双方成对峙之势 ...

  4. JZOJ 3908 吴传之火烧连营

    题目大意 题目大意就是对于一个序列,多次询问求在 xor K 的情况下最大值. 原题 Description [题目背景] 蜀汉章武元年(221年),刘备为报吴夺荆州.关羽被杀之仇,率大军攻吴.吴将陆 ...

  5. 【NOIP2014模拟11.1B组】吴传之火烧连营(tree)

    题目大意 对于一个序列,多次询问求在 xor K 的情况下最大值. 分析 我们将每一个数拆分成 2 进制,然后映射进一棵 trie 中,然后对于每个询问,根据异或的性质(1 xor 1=0,1 xor ...

  6. 【NOIP2014模拟11.1B组】吴传之火烧连营

    trie,动态开点. 我们可以将输入的a[],b[]全部看成二进制数. 然后按照二进制中的位置从大到小开始建trie. 如果trie不会的可以自己手动普及一下. 建好a[]的trie后,我们可以对于每 ...

  7. Jzoj3907 蜀传之单刀赴会(梦回三国系列)

    [题目背景] 公元215年,刘备取益州,孙权令诸葛瑾找刘备索要荆州.刘备不答应,孙权极为恼恨,便派吕蒙率军取长沙.零陵.桂阳三郡.长沙.桂阳蜀将当即投降.刘备得知后,亲自从成都赶到公安(今湖北公安), ...

  8. YYHS-蜀传之单刀赴会(梦回三国系列T2)(最短路+状压dp)

    题目描述 [题目背景] 公元215年,刘备取益州,孙权令诸葛瑾找刘备索要荆州.刘备不答应,孙权极为恼恨,便派吕蒙率军取长沙.零陵.桂阳三郡.长沙.桂阳蜀将当即投降.刘备得知后,亲自从成都赶到公安(今湖 ...

  9. YYHS-吴传之火烧连营(梦回三国系列T3)(trie树)

    题目描述 [题目背景] 蜀汉章武元年(221年),刘备为报吴夺荆州.关羽被杀之仇,率大军攻吴.吴将陆逊为避其锋,坚守不战,双方成对峙之势.蜀军远征,补给困难,又不能速战速决,加上入夏以后天气炎热,以致 ...

最新文章

  1. 【第二篇】Volley的使用之加载图片
  2. win 2003 IIS如何防止代码注入
  3. Ubuntu 显示隐藏文件
  4. 递归算法详细分析- C
  5. ajax请求参数为中文乱码的情况
  6. EasyUI层与拖拽系列控件
  7. 中科曙光:与VMware合资公司是技术公司
  8. (转)淘淘商城系列——SSM框架整合之逆向工程
  9. C语言编程时没思路,c语言编程问题
  10. 大公司病?记改一个文字颜色的过程
  11. java url 格式化_String.format()的使用:Java字符串格式化
  12. Spring Cloud 是什么
  13. 网页前端:JavaScript编程
  14. C# 填充Excel
  15. intel wifi 5100agn linux驱动,intel5100agn驱动
  16. C语言中实现字符串的拼接
  17. 40163 php,微信授权登录code 40163
  18. 4种方法教你如何查看java对象所占内存大小
  19. 写作能赚钱吗?不,写作的首要目的,是认识自己
  20. 云开发mbti人格类型测试助手微信小程序源码

热门文章

  1. 谁偷偷删了你的微信?别慌!Python 把 TA 揪出来
  2. UE4材质混合模式Blend Mode
  3. word上传博客教程
  4. 微信:支付验证签名失败
  5. 计算机毕设(附源码)JAVA-SSM基于java的高校学生实习管理系统设计
  6. 2022-2028全球与中国无线机械键盘市场现状及未来发展趋势
  7. 基于Flask的人脸识别企业系统
  8. 连接JLINK 提示未找到ulink的解决方法
  9. NX1890软件下载
  10. 纯净版操作系统的下载方式