博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
codevs3243:区间翻转,线段树
阅读量:5090 次
发布时间:2019-06-13

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

题目描述 Description

给出N个数,要求做M次区间翻转(如1 2 3 4变成4 3 2 1),求出最后的序列

输入描述 Input Description

第一行一个数N,下一行N个数表示原始序列,在下一行一个数M表示M次翻转,之后的M行每行两个数L,R表示将区间[L,R]翻转。

输出描述 Output Description

一行N个数 , 表示最终序列。

样例输入 Sample Input

4
1 2 3 4
2
1 2
3 4

样例输出 Sample Output

2 1 4 3

数据范围及提示 Data Size & Hint

对于30%的数据满足n<=100 , m <= 10000
对于100%的数据满足n <= 150000 , m <= 150000
对于100%的数据满足n为2的幂,且L = i * 2^j + 1 , R = (i + 1) * 2^j

帖代码,感谢XS的调试

program cx;var i,BTM,n,m,l,r:longint;    trs,trlc,trrc,trw,trfz:array[0..100]of longint;procedure down(t:longint);var temp:longint;begin  if trfz[t]=0 then exit;  trfz[t]:=0;  trfz[trlc[t]]:=trfz[trlc[t]]xor 1;  trfz[trrc[t]]:=trfz[trrc[t]]xor 1;  temp:=trlc[t];  trlc[t]:=trrc[t];  trrc[t]:=temp;end;function cmp(x:longint):longint;         //XS令人苦笑不得的函数,求左子树SIZEbegin   exit(trs[trlc[x]]);end;procedure change(t,ll,rr:longint);begin  if (ll=1)and(rr=trs[t]) then    begin      trfz[t]:=trfz[t] xor 1;      exit;    end;  down(t);  if ll-cmp(t)>=1 then    begin      ll:=ll-cmp(t);      rr:=rr-cmp(t);      change(trrc[t],ll,rr);    end      else        change(trlc[t],ll,rr);end;procedure print(t:longint);var i:longint;begin  if trlc[t]=0 then    begin      write(trw[t],' ');      exit;    end;  down(t);  print(trlc[t]);  print(trrc[t]);end;beginassign(input,'gym.in');reset(input);  read(n);  BTM:=1;  while BTM

转载于:https://www.cnblogs.com/cww97/p/7534042.html

你可能感兴趣的文章
[CF1031E]Triple Flips
查看>>
【★】浅谈计算机与随机数
查看>>
JPG、PNG和GIF图片的基本原理及优化方法
查看>>
Python中os和shutil模块实用方法集…
查看>>
35.使用FileOutputStream类向文本文件写数据
查看>>
Excel表格如何设置密码 Excel2003/2007/2010设置密码教程
查看>>
sqlserver日志文件太大解决方法
查看>>
第三十五章 metrics(3)- codahale-metrics基本使用
查看>>
第十二章 redis-cluster搭建(redis-3.2.5)
查看>>
匹夫细说C#:不是“栈类型”的值类型,从生命周期聊存储位置
查看>>
超时时间已到。在操作完成之前超时时间已过或服务器未响应。 (.Net SqlClient Data Provider)...
查看>>
练习2-11 计算分段函数[2] (10 分)
查看>>
从零开始系列之vue全家桶(1)安装前期准备nodejs+cnpm+webpack+vue-cli+vue-router
查看>>
ASP.NET缓存 Cache之数据缓存
查看>>
bzoj3529: [Sdoi2014]数表
查看>>
SSH三大框架 整合必备jar包
查看>>
什么是电子商务?电子商务面临的几个关键问题及解决办法?电子商务的核心是什么?B2C电子商务运营的核心是什么 ?...
查看>>
Jsp抓取页面内容
查看>>
AJAX与servlet的组合,最原始的
查看>>
大三上学期软件工程作业之点餐系统(网页版)的一些心得
查看>>