博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
poj - 3264 Balanced Lineup
阅读量:6187 次
发布时间:2019-06-21

本文共 1232 字,大约阅读时间需要 4 分钟。

简单题,求一定范围内的最大数于最小数之差,用两个数组保存max和min就行了。

1 #include 
2 #include
3 #define N 50005 4 #define INF 0x7fffffff 5 int max[4*N],min[4*N]; 6 int D; 7 int Max(int a,int b) 8 { 9 return a>b ?a :b;10 }11 int Min(int a,int b)12 {13 return a
>=1, j>>=1)20 {21 if(~i & 1)22 mi = Min(mi,min[i^1]),23 ma = Max(ma,max[i^1]);24 if(j & 1)25 mi = Min(mi,min[j^1]),26 ma = Max(ma,max[j^1]);27 }28 return ma-mi;29 }30 int main()31 {32 int m,n,i,x,y;33 while(~scanf("%d%d",&n,&m))34 {35 for(D = 1; D < n+2; D <<= 1);36 memset(max,0xc3,sizeof(int)*2*D);37 memset(min,0x3f,sizeof(int)*2*D);38 for(i = 1; i <= n; i++)39 {40 scanf("%d",&max[D+i]);41 min[D+i] = max[D+i];42 }43 for(i = D-1; i; i--)44 {45 max[i] = Max(max[i<<1],max[i<<1|1]);46 min[i] = Min(min[i<<1],min[i<<1|1]);47 }48 while(m--)49 {50 scanf("%d%d",&x,&y);51 printf("%d\n",query(x,y));52 }53 }54 return 0;55 }

 

转载于:https://www.cnblogs.com/lzxskjo/archive/2012/07/14/2591008.html

你可能感兴趣的文章
echarts(二)
查看>>
Hibernate映射文件结构
查看>>
rollPagerView引导页轮播图
查看>>
redis集群介绍,redis集群搭建配置,redis集群操作
查看>>
Gitbilt hooks 简单的账户操作权限控制
查看>>
[3.30]#珠海GDG#成立大会胜利闭幕!
查看>>
mybatis 批量Update(2)
查看>>
RabbitMQ安装
查看>>
django 学习笔记 (五)
查看>>
iOS UItableviewCell实现可变高度的UITextView,动态刷新高度
查看>>
iOS开发- 利用runtime拦截UIButton的点击事件,防止重复点击
查看>>
Java,Jsp获取客户端IP地址
查看>>
100-88
查看>>
android4.0.3 编译lichee 报错dhd-cdc-sdmmc-gpl-3.0.8问题
查看>>
crc16 - 产生Modbus RTU格式的CRC码
查看>>
招聘又来了,这次推荐有奖哦
查看>>
我的友情链接
查看>>
Linux下ssh秘钥方式登录远程服务器
查看>>
golang test测试使用
查看>>
【Apache学习】编译安装httpd2.4 含傻瓜版自动安装脚本
查看>>