【NOIP2016提高A组模拟9.14】数列编辑器
题目
分析
比赛上,没有注意到询问只询问光标前面,于是只打了个暴力。
因为询问只询问光标前面,首先,当光标向后每移动到一个位置,顺便将这个位置的前缀和,和最大前缀和求出来。
总之,模拟
#include <cmath>
#include <iostream>
#include <cstring>
#include <cstdio>
#include <cstdlib>
using namespace std;
const int maxlongint=2147483647;
const int N=1000005;
const int mo=1000000007;
int next[N],last[N],a[N],n,tot,num,sum[N],tt,mx[N],pos[N];
int main()
{
scanf("%d",&n);
for(int i=0;i<N;i++) mx[i]=-maxlongint;
next[0]=n+1;
last[n+1]=0;
for(int i=1;i<=n;i++)
{
char c=getchar();
while(c!='I' && c!='D' && c!='L' && c!='R' && c!='Q') c=getchar();
int x;
if(c=='I')
{
scanf("%d",&x);
num++;
tt++;
last[next[tot]]=tt;
next[tt]=next[tot];
last[tt]=tot;
next[tot]=tt;
a[tt]=x;
sum[tt]=sum[tot]+a[tt];
pos[tt]=pos[tot]+1;
mx[pos[tt]]=max(sum[tt],mx[pos[tot]]);
tot=tt;
}
else
if(c=='D')
{
num--;
next[last[tot]]=next[tot];
last[next[tot]]=last[tot];
a[tot]=sum[tot]=0;
tot=last[tot];
}
else
if(c=='L')
{
tot=last[tot];
}
else
if(c=='R')
{
if(pos[tot]<num) tot=next[tot];
else continue;
sum[tot]=sum[last[tot]]+a[tot];
pos[tot]=pos[last[tot]]+1;
mx[pos[tot]]=max(sum[tot],mx[pos[last[tot]]]);
}
else
if(c=='Q')
{
scanf("%d",&x);
printf("%d\n",mx[x]);
}
}
}
【NOIP2016提高A组模拟9.14】数列编辑器的更多相关文章
- 【NOIP2016提高A组模拟8.14】总结
第一题是几何题,没去想直接弃疗.... 第二题觉得很像背包,但是单挑人的顺序不同,答案也会不同,我比较了每个人先后的优劣性,成功搞定了这道题.但是再输出时不小心搞错了,爆零. 第三题,我答案了整整一个 ...
- 【NOIP2016提高A组模拟8.14】传送带
题目 在一个2维平面上有两条传送带,每一条传送带可以看成是一条线段.两条传送带分别为线段AB和线段CD.FTD在AB上的移动速度为P,在CD上的移动速度为Q,在平面上的移动速度R.现在FTD想从A点走 ...
- 【NOIP2016提高A组模拟8.14】疯狂的火神
题目 火神为了检验zone的力量,他决定单挑n个人. 由于火神训练时间有限,最多只有t分钟,所以他可以选择一部分人来单挑,由于有丽子的帮助,他得到了每个人特定的价值,每个人的价值由一个三元组(a,b, ...
- JZOJ 4732. 【NOIP2016提高A组模拟8.23】函数
4732. [NOIP2016提高A组模拟8.23]函数 (Standard IO) Time Limits: 1500 ms Memory Limits: 262144 KB Detailed ...
- JZOJ 【NOIP2017提高A组模拟9.14】捕老鼠
JZOJ [NOIP2017提高A组模拟9.14]捕老鼠 题目 Description 为了加快社会主义现代化,建设新农村,农夫约(Farmer Jo)决定给农庄里的仓库灭灭鼠.于是,猫被农夫约派去捕 ...
- 【JZOJ4792】【NOIP2016提高A组模拟9.21】整除
题目描述 麦克雷有一个1~n的排列,他想知道对于一些区间,有多少对区间内的数(x,y),满足x能被y整除. 输入 第一行包含2个正整数n,m.表示有n个数,m个询问. 接下来一行包含n个正整数,表示麦 ...
- [JZOJ]100047. 【NOIP2017提高A组模拟7.14】基因变异
21 世纪是生物学的世纪,以遗传与进化为代表的现代生物理论越来越多的 进入了我们的视野. 如同大家所熟知的,基因是遗传因子,它记录了生命的基本构造和性能. 因此生物进化与基因的变异息息相关,考察基因变 ...
- [jzoj 4668] [NOIP2016提高A组模拟7.19] 腐败 解题报告(质数分类+慢速乘)
题目链接: http://172.16.0.132/senior/#main/show/4668 题目: 题解: 考虑把A数组里的每个元素分解质因数,对于每个质因数开一个vector存一下包含这个质因 ...
- [JZOJ100047] 【NOIP2017提高A组模拟7.14】基因变异
Description 21 世纪是生物学的世纪,以遗传与进化为代表的现代生物理论越来越多的 进入了我们的视野. 如同大家所熟知的,基因是遗传因子,它记录了生命的基本构造和性能. 因此生物进化与基因的 ...
随机推荐
- JavaScript基础修炼(14)
目录 一. PCM格式是什么 二. 浏览器中的音频采集处理 三. 需求实现 方案1——服务端FFmpeg实现编码 方案2——ScriptProcessorNode手动处理数据流 参考文献 示例代码托管 ...
- golang remote debug和docker debug
在编写 Go 代码的时候,因为很多时候都是需要调试服务器上的代码的,作为一个年长的工程师,肯定不能用 log.Printf 来调试问题,所以我选择了 delve 这个工具,通过 delve 我可以像本 ...
- IK分词器的安装与使用IK分词器创建索引
之前我们创建索引,查询数据,都是使用的默认的分词器,分词效果不太理想,会把text的字段分成一个一个汉字,然后搜索的时候也会把搜索的句子进行分词,所以这里就需要更加智能的分词器IK分词器了. 1. i ...
- Django 中 ModelForm 的使用
定义 ModelForm 定制 ModelForm Meta 在 Form 中另外定义 Field 值得一提的一些 Field 转化 AutoField BooleanField ForeignKey ...
- cocos2dx基础篇(5) 按钮
这篇是直接复制的别人的,太多了,难得写... [本节内容] CCMenu.CCMenuItem其具体的六个子类 [菜单CCMenu] 菜单CCMenu是用来装载菜单按钮的图层,图层中的子节点只能够是菜 ...
- Windows 下 C/C++ 多线程编程入门参考范例
#include <windows.h> #include <iostream> using namespace std; DWORD WINAPI myThread(LPVO ...
- Mac OS X 11中的/usr/bin 的“Operation not permitted”
更新了 Mac OS X 11后发现,MacVim 不再能够通过Terminal用命令打开了. mvim hello.txt 于是尝试将 mvim 重新复制到/usr/bin/中去 sudo cp - ...
- Hbase 0.92.1 Replication
原集群 服务器名称 服务 sht-sgmhadoopnn-01 Master,NameNode,JobTracker sht-sgmhadoopdn-01 RegionServer,DataNode, ...
- HDU-5471 Count the Grid
题目描述 一个矩阵中可以任意填\(m\)个数.给你\(N\)个小矩阵并且告诉你此矩阵中的最大值\(v\),求有多少种大矩阵满足所给条件.\((\%1e9+7)\) Input 包含\(T\)组数据. ...
- python-day14(正式学习)
目录 三元表达式 列表推导式 字典生成式 zip()方法 生成器 yield关键字 迭代套迭代 send(value) close() throw() 自定义range方法 生成器表达式 匿名函数 与 ...