设为首页 加入收藏

TOP

bzoj 1171 大sz的游戏& 2892 强袭作战 (线段树+单调队列+永久性flag)(二)
2019-09-17 19:06:08 】 浏览:58
Tags:bzoj 1171 游戏 2892 强袭 作战 线段 单调 队列 永久性 flag
t().second);
64 return res; 65 } 66 67 int mid=(l+r)>>1; 68 if (y<=mid) res=min(res,query(p<<1,l,mid,x,y,wei)); 69 else if (x>mid) res=min(res,query(p<<1|1,mid+1,r,x,y,wei)); 70 else res=min(res,min(query(p<<1,l,mid,x,mid,wei),query(p<<1|1,mid+1,r,mid+1,y,wei))); 71 return res; 72 } 73 int main() 74 { 75 n=read(),L=read(); 76 for (int i=1;i<n;i++) 77 a[i].x=read(),a[i].y=read(),a[i].l=read(),b[++num]=a[i].x,b[++num]=a[i].y; 78 sort(b+1,b+num+1); 79 for (int i=1;i<=num;i++) 80 if (b[i]!=b[i-1]) p[b[i]]=++siz; 81 for (int i=1;i<n;i++) 82 a[i].x=p[a[i].x],a[i].y=p[a[i].y]; 83 84 ins(1,1,siz,1,siz,make_pair(0,0)); 85 for (int i=1;i<n;i++) 86 { 87 f[i]=query(1,1,siz,a[i].x,a[i].y,a[i].l)+1; 88 ins(1,1,siz,a[i].x,a[i].y,make_pair(a[i].l,f[i])); 89 } 90 for (int i=1;i<n;i++) 91 printf("%d\n",f[i]>=n?-1:f[i]); 92 }

 

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇java 企业站源码 兼容手机平板PC .. 下一篇spring boot实现ssm(2)功能

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目