HDU 4288 Coder 线段树做法不会果断水过
2014-08-08 16:09
155 查看
同学加的练习题看着像线段树,但是不会写,拿去问学长,被告知可以用set容器做做试试....不会set容器,想着直接用数组做,错好多次- -,大概是因为插入的时候写的循环访问不到下标0。经过几次尝试终于搞定.看人家程序都是0.6、0.7秒跑完,我提交上去一版都判好了我的还在跑- -,跑了8秒多AC了不容易。
不得不说有些时候不会算法敢于尝试有可能就给过了...如果用线段树的话要离散化+离线处理..会这个的学长今天没在 。
不得不说有些时候不会算法敢于尝试有可能就给过了...如果用线段树的话要离散化+离线处理..会这个的学长今天没在 。
#include<stdio.h> #include<string.h> int a[100005]; int main() { int n,x,i,len; __int64 sum; char s[10]; while(scanf("%d",&n)!=EOF) { len=0; memset(a,0,sizeof(a)); while(n--) { scanf("%s",s); if(s[0]=='a') { scanf("%d",&x); for(i=len;i>0;i--)//为了访问到0这个地方,一定要写成a[i-1]的形式- -|。 { if(a[i-1]>x) a[i]=a[i-1]; else break; } len++; a[i]=x; } else if(s[0]=='d') { scanf("%d",&x); for(i=0;i<len;i++) { if(a[i]==x) break; } for(;i<len;i++) a[i]=a[i+1]; len--; } else if(s[0]=='s') { sum=0; for(i=2;i<len;i+=5) sum+=a[i]; printf("%I64d\n",sum); } } } return 0; }
相关文章推荐
- HDU 4288 Coder(线段树+离线处理)
- HDU 4288 Coder(12年成都 线段树)
- HDU 4288 Coder 离线线段树部分更新
- HDU 4288 Coder 【线段树+离线处理+离散化】
- HDU 4288 Coder(线段树)
- HDU 4288 Coder 【线段树+离线处理+离散化】
- HDU-4288 Coder 线段树
- hdu 4288 Coder(线段树)
- hdu 4288 Coder (线段树)
- hdu 4288 Coder (线段树,区间部分更新)
- HDU 4288 Coder(线段树)
- hdu 4288 Coder (线段树)
- HDU 4288 Coder (线段树)
- HDU 4288 Coder 【线段树】
- HDU 4288 Coder ( 离散化 + 离线 + 线段树 )
- HDU 4288 Coder 线段树
- HDU 4288 Coder 线段树||暴力
- HDU 4288 Coder 线段树
- HDU 4288 Coder(线段树+离线处理+离散化)
- HDU-4288-Coder(线段树)