数列编辑器 【NOIP2016提高A组模拟9.14】
来源:互联网 发布:小米3淘宝旗舰店 编辑:程序博客网 时间:2024/05/10 10:35
题目
样例输入:
8
I 2
I -1
I 1
Q 3
L
D
R
Q 2
样例输出:
2
3
样例解释:
数据范围:
剖解题目
。。。。。。
思路
一脸懵逼的望着,还在想怎么用线段树搞插入之类的。。。。。
然而竟然只是个链表。。。。
解法
对于15%:segement tree||BIT可以解决。
对于后面的75%:暴力即可。
100%:链表处理,维护每个点的前驱和后驱,搞一搞就可以了。
代码
#include<cstdio>#include<algorithm>#include<cstdlib>#include<cstring>#define fo(i,a,b) for(int i=a;i<=b;i++)using namespace std;const int maxn=1e6+5;int le[maxn],ri[maxn],num,n,lg,a[maxn],sum[maxn],mx[maxn],pos[maxn];bool bz[maxn];int main(){ //freopen("T2.in","r",stdin); //freopen("T.out","w",stdout); scanf("%d",&n); mx[0]=-1e9; ri[0]=n+1; fo(i,1,n){ char ch; scanf("%s",&ch); if (ch=='I') { int x; scanf("%d",&x); ri[++num]=ri[lg]; le[ri[lg]]=num; ri[lg]=num; le[num]=lg; a[num]=x; lg=num; pos[lg]=pos[le[lg]]+1; sum[lg]=sum[le[lg]]+a[lg]; mx[pos[lg]]=max(mx[pos[le[lg]]],sum[lg]); } else if (ch=='D'){ int hg=lg; lg=le[lg]; ri[le[hg]]=ri[hg]; le[ri[hg]]=le[hg]; pos[ri[lg]]=pos[lg]+1; } else if (ch=='L') lg=le[lg]; else if (ch=='R') { if (ri[lg]!=n+1) { lg=ri[lg]; pos[lg]=pos[le[lg]]+1; sum[lg]=sum[le[lg]]+a[lg]; mx[pos[lg]]=max(mx[pos[le[lg]]],sum[lg]); } } else { int x; scanf("%d",&x); printf("%d\n",mx[x]); } }}
0 0
- 数列编辑器 【NOIP2016提高A组模拟9.14】
- 【NOIP2016提高A组模拟9.14】数列编辑器
- 【NOIP2016提高A组模拟9.14】数列编辑器
- JZOJ 4778. 【NOIP2016提高A组模拟9.14】数列编辑器
- {题解}[jzoj4778]【NOIP2016提高A组模拟9.14】数列编辑器
- JZOJsenior4778.【NOIP2016提高A组模拟9.14】数列编辑器
- JZOJ.4778. 【NOIP2016提高A组模拟9.14】数列编辑器
- 【NOIP2016提高A组模拟9.14】排序
- 【NOIP2016提高A组模拟9.14】灌水
- 【NOIP2016提高A组模拟7.15】斐波那契数列(矩阵乘法)
- JZOJ 4777. 【NOIP2016提高A组模拟9.14】灌水
- JZOJsenior4777.【NOIP2016提高A组模拟9.14】灌水
- 【NOIP2016提高A组模拟7.15】立方体
- 计数【NOIP2016提高A组模拟7.15】
- 【NOIP2016提高A组模拟7.17】寻找
- 【NOIP2016提高A组模拟7.17】寻找
- 【NOIP2016提高A组模拟7.17】锦标赛
- 【NOIP2016提高A组模拟7.17】锦标赛
- android studio 升级2.2 gradle升级2.2 DefaultManifestParser报错
- android 获取bitmap中的“主题色彩”
- gcc基本使用
- MMORPG外挂工作流程-----人工智能之状态机的原理和实现
- 简单的自定义空间,用代码代替xml的写法
- 数列编辑器 【NOIP2016提高A组模拟9.14】
- 如何删除表中的重复记录只保留其中一条
- HDU 5900 QSC and Master(区间DP)
- 统计学习方法(一)统计学习方法概论
- 欢迎使用CSDN-markdown编辑器
- 实践mysql 的排他锁和共享锁
- Git基本命令
- jetty在eclipse下运行maven项目
- Android中Style和Theme的使用