hdu4288 Coder 2012成都网络赛 A题
题意:往集合里面添加删除数,集合中的数是按从小到大排列的,询问下标模5等于3的数的和。
记得当时这题不会做,
现在想简单多了,只要维护五个值和左右子树的size大小就行了。
#define maxn 100005 struct node
{
int l,r;
int sz;
i64 f[];
int mid()
{
return (l + r ) / ;
}
};
node tt[maxn * ];
struct node1
{
int id ;
i64 x;
};
node1 ml[maxn];
void push_up(int root )
{
int sz ;
sz = tt[root * ].sz;
tt[root].sz = tt[root * ].sz + tt[root * + ].sz;
for(int i = ; i < ; i ++ )
tt[root].f[i] = tt[root * ].f[i] + tt[root * + ].f[(i + - sz % ) % ];
return ;
}
void build(int root ,int l,int r )
{
tt[root].l = l ;
tt[root].r = r ;
tt[root].sz = ;
for(int i = ; i < ; i ++ ) tt[root].f[i] = ;
if(l == r ) return ;
int mid = tt[root].mid();
build(root * , l , mid );
build(root * + , mid + , r);
return ;
}
void update(int root ,int pos ,i64 vv)
{
if(tt[root].l == tt[root].r )
{
if(vv == )
{
tt[root].sz = ;
for(int i = ; i < ; i ++ ) tt[root].f[i] = ;
}
else
{
tt[root].sz = ;
for(int i = ; i < ;i ++ ) tt[root].f[i] = ;
tt[root].f[] = vv;
}
return ;
}
int mid = tt[root].mid();
if(pos <= mid )
update(root * , pos , vv);
if(pos > mid )
update(root * + , pos , vv);
push_up(root);
}
int num;
i64 b[maxn];
int pos[maxn];
char str[];
int main()
{
int x;
int n ;
while(scanf("%d",&n)!=EOF)
{
num = ;
for(int i = ;i <= n ; i ++ )
{
scanf("%s",str);
if(str[] == 'a')
{
ml[i].id = ;
scanf("%I64d",&ml[i].x);
b[num++] = ml[i].x;
}
else if(str[] == 'd')
{
ml[i].id = ;
scanf("%I64d",&ml[i].x);
b[num++] = ml[i].x;
}
else
{
ml[i].id = ;
}
}
sort(b ,b + num);
int pos;
num = unique(b,b+num) - b;
build(,,num);
for(int i = ; i <= n ; i ++ )
if(ml[i].id != )
{
pos = lower_bound(b , b + num , ml[i].x) - b + ;
if(ml[i].id == )
update(,pos,ml[i].x);
else update(,pos,);
}
else
{
printf("%I64d\n",tt[].f[]);
}
}
return ;
}
hdu4288 Coder 2012成都网络赛 A题的更多相关文章
- HDU 4730 We Love MOE Girls (2013成都网络赛,签到水题)
We Love MOE Girls Time Limit: 1000/500 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
- HDU 4734 F(x) (2013成都网络赛,数位DP)
F(x) Time Limit: 1000/500 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...
- HDU 4737 A Bit Fun (2013成都网络赛)
A Bit Fun Time Limit: 5000/2500 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total S ...
- HDU 4733 G(x) (2013成都网络赛,递推)
G(x) Time Limit: 2000/500 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...
- HDU 4731 Minimum palindrome (2013成都网络赛,找规律构造)
Minimum palindrome Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Other ...
- ACM-ICPC 2019南昌网络赛F题 Megumi With String
ACM-ICPC 南昌网络赛F题 Megumi With String 题目描述 给一个长度为\(l\)的字符串\(S\),和关于\(x\)的\(k\)次多项式\(G[x]\).当一个字符串\(str ...
- ACM-ICPC 2019南昌网络赛I题 Yukino With Subinterval
ACM-ICPC 2019南昌网络赛I题 Yukino With Subinterval 题目大意:给一个长度为n,值域为[1, n]的序列{a},要求支持m次操作: 单点修改 1 pos val 询 ...
- 2019ICPC南京网络赛A题 The beautiful values of the palace(三维偏序)
2019ICPC南京网络赛A题 The beautiful values of the palace https://nanti.jisuanke.com/t/41298 Here is a squa ...
- HDU 4762 Cut the Cake (2013长春网络赛1004题,公式题)
Cut the Cake Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Tota ...
随机推荐
- muduo网络图书馆评测
上个月看到朋友推荐mudo网络图书馆,该代码是在国内同行中,开源工程后.甚至钦佩.根据mudo手动和035代码的版本看起来正在建设中.感觉是一个比较成熟且易于使用的网络库.我的手也有自己的网络库,虽然 ...
- C语言简单的菜单选项
#include <stdio.h> char get_choice(void); char get_first(void); int get_int(void); void count( ...
- simpleDateFormat日期格式转换
1------------------------------------------------------------------------------------- package com.n ...
- 小米2S 中文和英文支持TWRP,真实双系统支持
经过我几天的努力小米2S的TWRP 的功能已经完美了. 支持功能 : 中文和英文显示能相互切换 真实双系统功能已经完成95%. 刷入手机方法.由于时间原因我只制作了img文件.没有制作成卡刷包格式. ...
- 解析DBR操作系统引导记录数据
理解文件系统.你必须要熟悉DBR,下面我们就来看看文件系统解析DBR数据. Dos Boot Record(DBR)操作系统引导记录是由操作系统的格式化程序建立的.在文件系统驱动操作不论什么一个磁盘卷 ...
- 乐在其中设计模式(C#) - 代理模式(Proxy Pattern)
原文:乐在其中设计模式(C#) - 代理模式(Proxy Pattern) [索引页][源码下载] 乐在其中设计模式(C#) - 代理模式(Proxy Pattern) 作者:webabcd 介绍 为 ...
- 使用commons-fileupload进行上传
须要使用的包 这两个包在Apache官网上能够下载得到 commons-fileupload-1.3.1.jar是Apache的一个开源项目.废话不说直接说吧 前段页面 <form action ...
- 【android】优秀的UI资源站点集合
1.http://ionicons.com/ 这个站点的图标能满足大部分人的需求.里面包括了经常使用的android风格的图标 ios7风格的图标 以及一些社会化分享图标,总共500个左右.githu ...
- BZOJ 1052 HAOI2007 覆盖问题 二分法答案+DFS
标题效果:特定n点.涵盖所有的点与同方三面.斧头要求方垂直边界,最小平方的需求方长值 最大值至少.答案是很明显的二分法 但验证是一个问题 考虑仅仅有三个正方形,故用一个最小矩形覆盖这三个正方形时至少有 ...
- linux基础知识1
1. 硬盘分区 分区类型:主分区,扩展分区.逻辑分区: 分区规则: 一个硬盘仅仅能有1到4个主分区: 一个硬盘仅仅能有1个扩展分区: 一个硬盘的主分区和扩展分区最多仅仅能有4个. 扩展分区仅仅能用来包 ...