zoj2451-Minimizing maximizer(线段树,超时)
来源:互联网 发布:coc野蛮人升级数据 编辑:程序博客网 时间:2024/06/08 00:45
虽然说用了线段树, 但是还是超时...感觉是用vector的原因.希望各位指导指导!
#include<iostream>#include<vector>#include<cstring>using namespace std;struct node{int l,r;node *lc,*rc;int cover;node():cover(0),lc(NULL),rc(NULL){}};node *build(int a,int b){node *p=new node;p->l=a;p->r=b;if(b-a==1)return p;p->lc=build(a,(a+b)/2);p->rc=build((a+b)/2,b);return p;}void insert(node *T,int a,int b){if(T){if(a<=T->l&&T->r<=b){T->cover=1;return;}if(a<=(T->r+T->l)/2)insert(T->lc,a,b);if(b>(T->r+T->l)/2)insert(T->rc,a,b);}}bool search(node *T,int a,int b){if(T){if(T->cover)//不需要再加入return false;if(a<=T->l&&T->r<=b)//需要{T->cover=1;return true;}if(a<=(T->r+T->l)/2)if(search(T->lc,a,b))return true;if(b>(T->r+T->l)/2)if(search(T->rc,a,b))return true;}return false;}int main(){int len,col;node *p;vector<node *> vec;while(cin>>len>>col){node *head;head=build(1,len);vec.clear();int l,r;while(col--){cin>>l>>r;p=new node;p->l=l;p->r=r;vector<node *>::iterator it;bool flag=true;for(it=vec.begin();it!=vec.end();++it){if((*it)->l<=p->l&&(*it)->r>=p->r){flag=false;break;}if((*it)->l>p->l&&(*it)->r<p->r)vec.erase(it);}if(flag){if(search(head,l,r)){vec.push_back(p);insert(head,l,r);}}}cout<<vec.size()<<endl;}return 0;}
- zoj2451-Minimizing maximizer(线段树,超时)
- poj 1769 Minimizing maximizer(线段树&dp)
- Minimizing maximizer - POJ 1769 dp+线段树
- poj 1769 Minimizing maximizer 线段树
- poj1769 Minimizing maximizer线段树优化dp
- #Poj1769#Minimizing maximizer(Dp+线段树优化)
- poj 1769 Minimizing maximizer 线段树优化的dp
- POJ 1769 Minimizing maximizer (dp + 线段树)
- poj 1769 Minimizing maximizer 单点更新线段树
- UVALive 2930 Minimizing Maximizer(最小区间覆盖数 DP + 线段树优化)
- POJ 1769 Minimizing maximizer(最少区间覆盖dp + 线段树优化查询区间最小值)
- POJ 1769 Minimizing maximizer
- POJ 1769 Minimizing maximizer
- POJ 1769 Minimizing maximizer
- POJ 1769 Minimizing maximizer
- Minimizing Maximizer UVA
- POJ 1769 Minimizing maximizer 笔记
- zoj2451
- wince USB HUB 使用注意
- Crontab 详解
- 茵茵的第一课
- function object研究之十四 unwrap
- 字符串逆序输出
- zoj2451-Minimizing maximizer(线段树,超时)
- 基于 OAuth 安全协议的 Java 应用编程
- C语言实现的LCD数学
- 欧拉计划第四题:关于求回文数。第五题,第六题,第七题,第八题,第九题,第十题
- 谁是最好的Coder
- [算法之动态规划] 基本思想
- zoj - 1094 - Matrix Chain Multiplication
- 系统默认声音值
- 字母小游戏