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

zoj2770(差分约束)火烧连营 差分约束详细解释见电子书 例 4.13 火烧连营(Burn the Linked Camp) 题目来源:ZOJ Monthly, October 2006, ZOJ2770 题目描述: 大家都知道,三国时期,蜀国刘备被吴国大都督陆逊打败了。刘备失败的原因是刘备的错误 决策。他把军队分成几十个大营,每个大营驻扎一队部队,又用树木编成栅栏,把大营连成一片, 称为连营。 让我们回到那个时代。陆逊派了... 阅读详情
【题目背景】
蜀汉章武元年(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));
	}
}

数据结构实习火烧连营 文件操作火烧连营,数据结构实习,好好学习,天天向上 立即下载

相关推荐

火烧连营&&火烧连营_栈实现

包括文本输入和输出!!! int main() { cout<<"三国时期,陆逊大败刘备,火烧连营八百里,妙在火攻!"<<endl; cout<<"以下是模拟当年战场"<<endl; Point Map[40][70]; //摆阵 初始化map setmap(Map); //输出地图 cout<<"战前军情:"<<endl; maplook(Map); //点火 setfire(Map); //输出地图 cout<<"战后军情:"<<endl; maplook(Map); return 0; }

JZOJ 3908 吴传之火烧连营

题目大意 题目大意就是对于一个序列,多次询问求在 xor K 的情况下最大值。 原题 Description 【题目背景】蜀汉章武元年(221年),刘备为报吴夺荆州、关羽被杀之仇,率大军攻吴。吴将陆逊为避其锋,坚守不战,双方成对峙之势。蜀军远征,补给困难,又不能速战速决,加上入夏以后天气炎热,以致锐气渐失,士气低落。刘备为舒缓军士酷热之苦,命蜀军在山林中安营扎寨以避暑热...

cjy_12的博客 293

火烧连营(C++版本)

数据结构实习。使用栈解决,原创,如有问题请联系我 “火烧连营”是三国演义中的著名典故之一广为流传,假定文本文件c1.txt是火烧连营中的军营分布图,每个字符A代表一个营帐,营帐是可燃物,其他字符代表不可燃的空白地段,文件共有40行70列。

火烧连营(运用文件读写,

“火烧连营”是三国演义中的著名典故之一广为流传,假定文本文件c1.txt是火烧连营中的军营分布图,每个字符A代表一个营帐,营帐是可燃物,其他字符代表不可燃的空白地段,文件共有40行70列。

火烧连营问题

用数据结构栈实现火烧连营问题 输入着火点坐标 即可输出火烧后的结果

数据结构 火烧连营源代码

使用堆栈数据结构实现的火烧连营代码 基于MFC实现 使用读写文件的方式来处理测试数据和点火后的结果数据

C++实现火烧连营

使用C++实现从一个txt文件中读入一个40*80的字符数组,判断是否为A,如果是,将其变为x,然后转到A的邻居,判断邻居中是否有A,如果有的话,也将其变为X,如此循环

火烧联营实现

纯C++、MFC代码,是个比较简单的程序,传上来供大家探讨探讨。希望能够与互相学习。

火烧连营源代码

对于火烧连营的故事大家都不陌生吧,这个代码考虑到相连的会被附为相当的数

C++数据结构之火烧连营程序

使用递归算法实现的火烧连营程序,算法有点小缺陷,就是不能处理边界问题,需要的同志可以自己解决这个问题

数据结构习题与答案--图

数据结构 第7章 图--图专项习题与答案

吴传之火烧连营

吴传之火烧连营题面DescriptionInputOutputSample InputSample OutputData Constraint思路Code 题面 Description 【题目背景】 蜀汉章武元年(221年),刘备为报吴夺荆州、关羽被杀之仇,率大军攻吴。吴将陆逊为避其锋,坚守不战,双方成对峙之势。蜀军远征,补给困难,又不能速战速决,加上入夏以后天气炎热,以致锐气渐失,士气低落。刘备为舒缓军士酷热之苦,命蜀军在山林中安营扎寨以避暑热。陆逊看准时机,命士兵每人带一把茅草,到达蜀军营垒时边放火边猛

m725kk的博客 388

如何利用ADS中的耦合线设计带通滤波器并转换为HFSS模型

耦合线带通滤波器是一种常用的微带滤波器形式,由多个长度为四分之一波长的耦合线节组成,在所需频点形成谐振,构成滤波器的频率响应特性。首先我们先来了解一下耦合线带通滤波器的电路结构,见下图:包括两对耦合线,中间为公共连接点,其中两对耦合线的偶奇模阻抗为(Z1e,Z1o)和(Z2e,Z2o,端口输入阻抗为Z0)。2.指定一个初始奇偶模值,ADS优化出一个合适的结果,通过奇偶模值利用linecalc工具计算出微带耦合线尺寸。假设中心频率为2GHz,则对应频点的电长度为。5.运行结果,两个软件仿真结果基本一致。

auqihc的博客 2227
上一篇: Jzoj3907 蜀传之单刀赴会(梦回三国系列)
下一篇: Jzoj3927 可见点数
扩展的灰
博客等级 码龄12年 60粉丝 342原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值