2015.9.11模拟赛 codevs 4159【hzwer的迷の数列】
hzwer找了一个人畜无害的迷の数列……
现在hzwer希望对这个数列进行一些操作,请你来回答hzwer的问题。
操作一:查询第i个数的大小
操作二:把第i个数的大小改成x
操作三:将整个序列反转。即把第i个数放到第n-i+1个。
输入数据第一行两个数n,m,表示数列长度和操作数。
第二行n个数,表示n个元素初始值。
以下m行,每行开头一个数opr,表示操作种类。
opr=1,则后面接一个数i,表示查询第i个数大小。
opr=2,则后面接两个数I,x,表示第i个数改成x。
opr=3,表示序列反转。
对于每个询问,输出答案。
4 6
1 3 2 4
1 3
2 2 6
3
2 1 3
1 3
1 1
2
6
3
对于20%数据,1<=n,m<=10.
对于40%数据,1<=n,m<=100.
对于60%数据,1<=n,m<=1000.
对于100%数据,1<=n,m<=100000,1<=a[i]<=100000.
题意是一个数列支持单点修改、单点查询、区间[1,n]翻转
前两者显然数组就搞定
因为是整个区间翻转,所以可以直接用一个tag标记当前是不是翻转的,每次区间翻转后tag^=1,如果是翻转的只要把点的位置改成n-k+1,其他照旧即可。
一道NOIP普及组的送分题,如果这个分没有送到你的手上,2333
- #include<iostream>
- #include<cstdio>
- using namespace std;
- const int maxn=;
- bool fan=;
- int n,m,opr,a[maxn];
- int main(){
- scanf("%d%d",&n,&m);
- for(int i=;i<=n;i++)scanf("%d",&a[i]);
- for(int i=;i<=m;i++)
- {
- scanf("%d",&opr);
- if(opr==)
- {
- scanf("%d",&opr);
- if(fan)printf("%d\n",a[n-opr+]);
- else printf("%d\n",a[opr]);
- }
- else if(opr==)
- {
- int l,x;
- scanf("%d%d",&l,&x);
- if(fan)a[n-l+]=x;
- else a[l]=x;
- }
- else if(opr==)fan^=;
- }
- }
codevs4159
2015.9.11模拟赛 codevs 4159【hzwer的迷の数列】的更多相关文章
- 2015.9.11模拟赛 codevs 4160【会玩的】
题目描述 Description hzwer真的很会玩啊…他有一个n*m的方格,每次可以给方格添加一整行或一整列,但是不能删除.现在他想要让总格子数超过k个,但是又想让总格子数尽可能小.请找出这时的n ...
- 2015.9.11模拟赛 codevs4162 bzoj1774【无双大王】
题目描述 Description 无双大王hzwer扫清六合,席卷八荒,万姓倾心,四方仰德. hzwer拥有一片领土,其中有n个城市和m条双向道路.他规定每个人在领土上行走都要交过路费,同时进城也要交 ...
- NOIp 2015真题模拟赛 By cellur925
果然我还是最菜的==不接受反驳== Day1 T1:神奇的幻方 思路:直接模拟即可,由于当前放法只与上一放法有关系,用两个变量记录一下即可.10分钟内切掉== 预计得分:100分 实际得分:100分 ...
- 2019.11.11 模拟赛 T2 乘积求和
昨天 ych 的膜你赛,这道题我 O ( n4 ) 暴力拿了 60 pts. 这道题的做法还挺妙的,我搞了将近一天呢qwq 题解 60 pts 根据题目给出的式子,四层 for 循环暴力枚举统计答案即 ...
- ZROI 19.08.11模拟赛
传送门 写在前面:为了保护正睿题目版权,这里不放题面,只写题解. dlstql,wsl A \(10pts:\) \(a=100,T=100\),对每个排列构造一个反的,一步到位即可. \(20pts ...
- NOIP模拟赛 by hzwer
2015年10月04日NOIP模拟赛 by hzwer (这是小奇=> 小奇挖矿2(mining) [题目背景] 小奇飞船的钻头开启了无限耐久+精准采集模式!这次它要将原矿运到泛光之源的矿 ...
- 小奇模拟赛9.13 by hzwer
2015年9月13日NOIP模拟赛 by hzwer (这是小奇=> 小奇挖矿(explo) [题目背景] 小奇要开采一些矿物,它驾驶着一台带有钻头(初始能力值w)的飞船,按既定路线依次飞 ...
- 11/1 NOIP 模拟赛
11.1 NOIP 模拟赛 期望得分:50:实际得分:50: 思路:暴力枚举 + 快速幂 #include <algorithm> #include <cstring> #in ...
- 9.11 myl模拟赛
9.11 myl 模拟赛 100 + 100 + 0 第一题耗费了太多的时间,导致最后一题没有时间想,直接去写了暴力,而且出题人没有给暴力分.... Problem 1. superman [题目描述 ...
随机推荐
- MVCC的一种实现方案
源信息来源:http://my.oschina.net/juliashine/blog/111624 -- 简单描述: 一个data-server,通过mvcc来实现事务的一致性,已支持更高的吞吐和更 ...
- 设计模式19---设计模式之状态模式(State)(行为型)
1.场景模拟 考虑一个在线投票的应用,分为四种情况 正常投票 正常投票以后还继续重复投票 用户恶意投票 黑名单用户 2.不用模式的解决方案 package demo17.state.example1; ...
- .NET页面301跳转处理
//301跳转Response.Status = "301 Moved Permanently";Response.AddHeader("Location", ...
- JStorm 是一个分布式实时计算引擎
alibaba/jstorm JStorm 是一个分布式实时计算引擎. JStorm 是一个类似Hadoop MapReduce的系统, 用户按照指定的接口实现一个任务,然后将这个任务递交给JStor ...
- Android学习四、Android中的Adapter
一.Adapter的介绍 An Adapter object acts as a bridge between an AdapterView and the underlying data for t ...
- [转] Transitions: Going from Shots to the Insulin Pump
Part three of our article series on the common phases of type 2 diabetes management By Lance Porter ...
- ulimit -n修改单进程可打开最大文件数目
对所有用户都生效: vi /etc/profile 添加一行如下: ulimit -n 65535 执行source /etc/profile生效,不需要重启服务器. $ source /etc/pr ...
- 转载-- C/S 与 B/S 区别
C/S 与 B/S 区别 C/S结构,即Client/Server(客户机/服务器)结构,是大家熟知的软件系统体系结构,通过将任务合理分配到Client端和Server端,降低了系统的通讯开销,可 ...
- css中同时用头部引入和外部引入对同一个标签进行样式设置,哪一个优先级高。
这段是html中的代码 <!doctype html> <html lang="en"> <head> <meta charset=&qu ...
- java克隆总结
对象clone,注意基本类型和指针类型.