codeforces 85D D. Sum of Medians Vector的妙用
2015-04-21 18:16
387 查看
D. Sum of Medians
Time Limit: 1 Sec Memory Limit: 256 MB题目连接
http://codeforces.com/problemset/problem/85/DDescription
In one well-known algorithm of finding the k-th order statistics we should divide all elements into groups of five consecutive elements and find the median of each five. A median is called the middle element of a sorted array (it's the third largest element for a group of five). To increase the algorithm's performance speed on a modern video card, you should be able to find a sum of medians in each five of the array.A sum of medians of a sorted k-element set S = {a1, a2, ..., ak}, where a1 < a2 < a3 < ... < ak, will be understood by as
The
operator stands for taking the remainder, that is
stands for the remainder of dividing x by y.
To organize exercise testing quickly calculating the sum of medians for a changing set was needed.
Input
The first line contains number n (1 ≤ n ≤ 105), the number of operations performed.Then each of n lines contains the description of one of the three operations:
add x — add the element x to the set;
del x — delete the element x from the set;
sum — find the sum of medians of the set.
For any add x operation it is true that the element x is not included in the set directly before the operation.
For any del x operation it is true that the element x is included in the set directly before the operation.
All the numbers in the input are positive integers, not exceeding 109.
Output
For each operation sum print on the single line the sum of medians of the current set. If the set is empty, print 0.Please, do not use the %lld specificator to read or write 64-bit integers in C++. It is preferred to use the cin, cout streams (also you may use the %I64d specificator).
Sample Input
6add 4
add 5
add 1
add 2
add 3
sum
Sample Output
3HINT
[b]题意[/b]给你一堆数,然后排序,然后让你输出下标mod5=3的和
[b]题解:
[/b]
用vector来做,虽然感觉有很多数据结构都可以把这道题秒了
[b]代码:[/b]
//qscqesze #include <cstdio> #include <cmath> #include <cstring> #include <ctime> #include <iostream> #include <algorithm> #include <set> #include <vector> #include <sstream> #include <queue> #include <typeinfo> #include <fstream> #include <map> #include <stack> typedef long long ll; using namespace std; //freopen("D.in","r",stdin); //freopen("D.out","w",stdout); #define sspeed ios_base::sync_with_stdio(0);cin.tie(0) #define maxn 200001 #define mod 10007 #define eps 1e-9 int Num; char CH[20]; //const int inf=0x7fffffff; //нчоч╢С const int inf=0x3f3f3f3f; /* inline void P(int x) { Num=0;if(!x){putchar('0');puts("");return;} while(x>0)CH[++Num]=x%10,x/=10; while(Num)putchar(CH[Num--]+48); puts(""); } */ //************************************************************************************** inline ll read() { int x=0,f=1;char ch=getchar(); while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();} while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();} return x*f; } inline void P(int x) { Num=0;if(!x){putchar('0');puts("");return;} while(x>0)CH[++Num]=x%10,x/=10; while(Num)putchar(CH[Num--]+48); puts(""); } vector<int> s; int main() { char a[10]; int b; int n=read(); for(int i=0;i<n;i++) { scanf("%s",a); if(a[0]=='a') { scanf("%d",&b); s.insert(lower_bound(s.begin(),s.end(),b),b); } if(a[0]=='d') { scanf("%d",&b); s.erase(lower_bound(s.begin(),s.end(),b)); } if(a[0]=='s') { ll sum=0; for(int j=2;j<s.size();j+=5) sum+=s[j]; printf("%lld\n",sum); } } }
相关文章推荐
- Codeforces 85 D. Sum of Medians
- CodeForces 85 D.Sum of Medians(线段树)
- Coderforces 85 D. Sum of Medians(线段树单点修改)
- codeforces#277.5 C. Given Length and Sum of Digits
- hdu 4288 线段树 Sum of Medians 像lazysales girl Coder
- CF85D:Sum of Medians(STL)
- Codeforces 847 C. Sum of Nestings (技巧)
- hdu 4288 Coder & CF85-D Sum of Medians (单点更新)
- Yandex.Algorithm 2011 Round 1 D. Sum of Medians 线段树
- Codeforces - 277.5 (Div. 2)C - Given Length and Sum of Digits...(模拟 or dfs)
- CodeForces 489C (贪心) Given Length and Sum of Digits...
- codeforces 616E - Sum of Remainders
- CodeForces 396 B.On Sum of Fractions(数论)
- Codeforces #277.5 (Div. 2) C. Given Length and Sum of Digits...(简单贪心)
- codeforces#277.5 C. Given Length and Sum of Digits
- CF-85D-Sum of Medians(线段树)
- Codeforces 396B:On Sum of Fractions
- Codeforces 616E - Sum of Remainders
- Yandex-R1 Sum of Medians [线段树]
- Codeforces 489C - Given Length and Sum of Digits...(贪心)