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 ...
随机推荐
- dedecms 织梦显示时间格式
field:pubdate function=GetDateMK(@me)/] 2009-11-10 [field:pubdate function=GetDateTimeMK(@me)/] 2009 ...
- OpenCV Haar AdaBoost源代码改进(比EMCV快6倍)
这几天研究了OpenCV源代码 Haar AdaBoost算法,作了一下改进 1.去掉了全部动态分配内存的操作.对嵌入式系统有一定的速度提升 2.凝视覆盖了大量关键代码 3.降低了代码一半的体积,而且 ...
- 读取 raspberrypi 的cpu和gpu温度
#!/usr/bin/env python # -*- coding: utf-8 -*- import requests import json import time import command ...
- Android学习路径(十)如何将Action Bar堆放在布局
默认情况下,action bar出如今activity窗体的顶部,稍微降低了activity布局的总空间.假设你想隐藏或者显示action bar,在这堂用户体验的课程中,你能够通过调用hide() ...
- Xamarin.Android 入门实例(3)之呼叫电话号码
1.Main.axml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns: ...
- hdu 2899 hdu 3400 三分/几何
hdu2899 : 水提,直接三分,事实上求导后二分也能够. #include<iostream> #include<cstdio> using namespace std; ...
- hdu1506——Largest Rectangle in a Histogram
Largest Rectangle in a Histogram Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 ...
- Android - match_parent 和 fill_parent差异
Android - match_parent 和 fill_parent差异 本文地址: http://blog.csdn.net/caroline_wendy match_parent 和 fill ...
- MyBatis系列教程(六)-- 与Spring综合(Integrate with Spring)
其它工具或技术需要使用: 项目管理工具 : Maven 前台WEB图库:JSP 其他框架:Spring, Spring MVC 数据库 : Derby Maven的Web项目 Maven Depend ...
- [LeetCode203]Remove Linked List Elements
题目: Remove all elements from a linked list of integers that have value val. ExampleGiven: 1 --> 2 ...