线段树中的TLE,RE杂碎问题
来源:互联网 发布:淘宝产品后期视频 编辑:程序博客网 时间:2024/06/04 18:12
可引起RE(ACCESS_VIOLATION)的建树操作
{ int k=1; L[1]=1;R[1]=maxn; for(int i=1;i<=maxn;i++) if (L[i]<R[i]) { k++;L[k]=L[i];R[k]=(L[i]+R[i])/2; k++;L[k]=(L[i]+R[i])/2+1;R[k]=R[i]; }}
修正
void build(int l,int r,int k){ L[k]=l;R[k]=r;mid[k]=(l+r)>>1; v[k]=1; if (l<r) { build(l,mid[k],k<<1); build(mid[k]+1,r,(k<<1)|1); }}
冗杂的修改操作,一念之差,
void modify(int k,int x,int y,int num){ if (x>L[k]||y<R[k]) v[k]=(v[k]==num)?num:0; else if (x==L[k]&&y==R[k]) v[k]=num; if (L[k]==R[k]) return; if (x<=mid[k]) modify(k<<1,x,min(mid[k],y),num); if (y>mid[k]) modify((k<<1)|1,max(x,mid[k]+1),y,num); //v[k]=v[k<<1]+v[(k<<1)|1];}
void modify(int k,int x,int y,int num){ if (v[k]==num) return; if (x==L[k]&&y==R[k]) { v[k]=num;return; }; if (v[k]) v[k<<1]=v[(k<<1)|1]=v[k]; v[k]=0; if (x<=mid[k]) modify(k<<1,x,min(mid[k],y),num); if (y>mid[k]) modify((k<<1)|1,max(x,mid[k]+1),y,num); //v[k]=v[k<<1]+v[(k<<1)|1];}
0 0
- 线段树中的TLE,RE杂碎问题
- [BZOJ4085][Sdoi2015]quality && 线段树 (TLE)
- POJ 1002. RE和TLE
- [python-re] python re模块中的flag问题
- 杂碎.
- 杂碎
- 杂碎
- 杂碎
- poj3225 Help with Intervals 线段树,成段更新,TLE,求指教。。本人提供测试数据~
- 线段树的应用与优化(注意此题更改数据后已tle)
- 恶意卡TLE && 测评时判断OJ是否将TLE判成RE或WA
- OJ术语: AC、WA、TLE、OLE、MLE、RE、PE、CE
- TLE
- TLE
- HDU-2795 Billboard (线段树)RE的教训!
- Re:Re:一个 I18N 问题
- ffmepg源码中的 -re
- UVA10719getchar()的RE问题
- jsp文件报错
- 解决configure: error: bzlib.h is required的问题
- 《设计模式》—简单工厂模式
- C++命名空间 namespace的作用和使用解析
- Java中的private、protected、public和default的区别
- 线段树中的TLE,RE杂碎问题
- 前端必读:浏览器内部工作原理
- request的setAttribute()怎么用的?
- iOS:SVN出错 Description : The working copy is locked due to a previous error
- C++的字节对齐
- Android开发:界面布局的基本使用
- IO复用 select Demo
- poj 1012 约瑟夫问题
- C++primer(第四版)复习笔记—第一篇:基本语言