题意:往集合里面添加删除数,集合中的数是按从小到大排列的,询问下标模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题的更多相关文章

  1. 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) ...

  2. HDU 4734 F(x) (2013成都网络赛,数位DP)

    F(x) Time Limit: 1000/500 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...

  3. 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 ...

  4. HDU 4733 G(x) (2013成都网络赛,递推)

    G(x) Time Limit: 2000/500 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...

  5. HDU 4731 Minimum palindrome (2013成都网络赛,找规律构造)

    Minimum palindrome Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Other ...

  6. ACM-ICPC 2019南昌网络赛F题 Megumi With String

    ACM-ICPC 南昌网络赛F题 Megumi With String 题目描述 给一个长度为\(l\)的字符串\(S\),和关于\(x\)的\(k\)次多项式\(G[x]\).当一个字符串\(str ...

  7. ACM-ICPC 2019南昌网络赛I题 Yukino With Subinterval

    ACM-ICPC 2019南昌网络赛I题 Yukino With Subinterval 题目大意:给一个长度为n,值域为[1, n]的序列{a},要求支持m次操作: 单点修改 1 pos val 询 ...

  8. 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 ...

  9. 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 ...

随机推荐

  1. IOS加强知识(1)理解力Objective-C

    一直想写一般Objective-C帖子,总是没时间.所以,我希望有一个巨大的知识更小.温馨提示小的变化.写一点点,每天.东西把他们的学习分享,好了废话不多. 1.一门动态的语言OC Object-C( ...

  2. Hadoop学习笔记(两)设置单节点集群

    本文描写叙述怎样设置一个单一节点的 Hadoop 安装.以便您能够高速运行简单的操作,使用 Hadoop MapReduce 和 Hadoop 分布式文件系统 (HDFS). 參考官方文档:Hadoo ...

  3. Java学习之路:详细解释Java解析XML四种方法

    XML如今已经成为一种通用的数据交换格式,它的平台无关性,语言无关性,系统无关性,给数据集成与交互带来了极大的方便. 对于XML本身的语法知识与技术细节,须要阅读相关的技术文献,这里面包含的内容有DO ...

  4. Jetty安装学习并展示

    Jetty 的基本架构 Jetty 眼下的是一个比較被看好的 Servlet 引擎,它的架构比較简单,也是一个可扩展性和很灵活的应用server,它有一个基本数据模型,这个数据模型就是 Handler ...

  5. 故障排查:是什么 导致了服务器端口telnet失败?(转)

    telnet命令的主要作用是与目标端口进行TCP连接(即完成TCP三次握手).当服务端启动后,但是telnet其监听的端口,却失败了.或者,当服务端运行了一段时间后,突然其监听的端口telnet不通了 ...

  6. Unreal Engine 4 创建Destructible Mesh(可破坏网格)

    Unreal Engine 4的物理引擎用的是PhysX. 支持网格破坏.布料.物理粒子等,非常强大.曾经须要编码才干完毕的工作,在Unreal Engine 4 中仅仅须要拖拖拽拽就完毕了,非常方便 ...

  7. centos6.4设备hadoop-2.5.1(完全分布式)

    环境介绍: 在这两种装备centos6.4(32位置)的server安装Hadoop-2.5.1分布式集群(2台机器,主要试验用.哈哈). 1.改动主机名和/etc/hosts文件 1)改动主机名(非 ...

  8. DHCP Option 60 认识

    原文地址: http://blog.163.com/chenqioulin_1983/blog/static/83216232010109104430251/   首先还是看看RFC咋说的吧.DHCP ...

  9. [LeetCode55]Jump Game

    题目: Given an array of non-negative integers, you are initially positioned at the first index of the ...

  10. Linux/UNIX数据文件和信息系统

    数据文件和信息系统 密码文件 在存储/etc/passwd在.以下功能可以用来获得密码文件条目. #include <sys/types.h> #include <pwd.h> ...