Codeforces Round #174 (Div. 1)A
2014-01-12 02:14
288 查看
题不怎么难,按线段树的解法 就是延迟标记,更新 因为找错找了N久 记一篇吧
向下更新时把+=写成了= 还做在了2W组的数据上 那个错找得真费劲。。
View Code
向下更新时把+=写成了= 还做在了2W组的数据上 那个错找得真费劲。。
#include <iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<stdlib.h> #include<vector> #include<queue> using namespace std; #define N 200012 int n; #define LL long long LL s[N<<2],lz[N<<2]; void down(int w,int m) { if(lz[w]) { s[w<<1]+=lz[w]*(m-m/2); s[w<<1|1]+=lz[w]*(m/2); lz[w<<1] += lz[w]; lz[w<<1|1]+=lz[w]; lz[w] = 0; } } void up(int w) { s[w] = s[w<<1]+s[w<<1|1]; } void update(int a,int b,int d,int l,int r,int w) { if(a<=l&&b>=r) { s[w]+=(r-l+1)*d; lz[w]+=d; return ; } int m = (l+r)>>1; down(w,r-l+1); if(a<=m) update(a,b,d,l,m,w<<1); if(b>m) update(a,b,d,m+1,r,w<<1|1); up(w); } void set(int p,int d,int l,int r,int w) { if(l==r) { s[w] = d; return ; } int m = (l+r)>>1; down(w,r-l+1); if(p>m) set(p,d,m+1,r,w<<1|1); else set(p,d,l,m,w<<1); up(w); } int main() { int i,t,x,y,g=1; cin>>n; LL sum=0; for(i = 1; i <= n ; i++) { cin>>t; if(t==1) { cin>>x>>y; update(1,min(g,x),y,1,N-5,1); sum = s[1]; printf("%.6f\n",double(sum)/g); } else if(t==2) { cin>>x; set(g+1,x,1,N-5,1); sum = s[1]; g++; printf("%.6f\n",double(sum)/g); } else { if(g>1) { set(g,0,1,N-5,1); g--; sum = s[1]; } printf("%.6f\n",double(sum)/g); } } return 0; }
View Code
相关文章推荐
- Codeforces Round #174 (Div. 1)
- Codeforces Round #174 DIV2
- Codeforces Round #174 (Div. 2)
- Codeforces Round #174 (Div. 1) B. Cow Program(动态规划+记忆化搜索)
- Codeforces Round #174 (Div. 1) (A, B, C)
- Codeforces Round #174 (Div. 2)
- Codeforces Round #174 (Div. 2)---C. Cows and Sequence(操作序列)
- Codeforces Round #174 (Div. 2) Cows and Primitive Roots(数论)
- Codeforces Round #174 (Div. 1) B. Cow Program(dp + 记忆化)
- Codeforces Round #174 (Div. 1) B. Cow Program(dp + 记忆化)
- Codeforces Round #174 (Div. 2)
- Codeforces Round #174 (Div. 1) B. Cow Program
- Codeforces Round #174 (Div. 2) Cows and Sequence(线段树)
- Codeforces Round #174 (Div. 2)---D. Cow Program(dp, 记忆化搜索)
- Codeforces Round #174 (Div. 2) Problem A
- Codeforces Round #174 (Div. 2) Problem A
- Codeforces Round #174 (Div. 2)
- codeforces round #174 div2
- Codeforces Round #174 (Div. 2) B. Cows and Poker Game(简单)
- Codeforces Round #174 (Div. 1)(完全)