【NOIP2016提高A组五校联考1】道路规划
来源:互联网 发布:软件著作权zhongzhiip 编辑:程序博客网 时间:2024/06/16 20:36
题目
Description
Input
Sample Input
5
1 4 5 2 3
3 4 2 1 5
Output
Sample Output
3
Data Constraint
Hint
比赛时の想法
一开始想到了70分的,然后很快发现线段树的优化,结果一个细节挂掉QAQ
正解
首先70分的话就是一个f[i]表示上面的位置最后一个为i的时候可以选的最大的集合,显然在下面的值相同的那个点一定是在最右边的,那么直接
然后100分的话就是拿线段树,那么就可以用log的时间来求出每一个f[i]的值
贴代码
var tree:array[0..500005]of longint; a,b:array[0..100005]of longint; i,j,k,l,n,x,y,ans,xx,xxx:longint;function max(x,y:longint):longint;begin if x>y then exit(x) else exit(y);end;procedure change(v,l,r,x:longint);var mid:longint;begin if l=r then tree[v]:=y else begin mid:=(l+r) div 2; if x<=mid then change(v*2,l,mid,x) else change(v*2+1,mid+1,r,x); tree[v]:=max(tree[v*2],tree[v*2+1]); end;end;procedure find(v,l,r,x,y:longint);var mid:longint;begin if (l=x) and (r=y) then xx:=max(xx,tree[v]) else begin mid:=(l+r) div 2; if x>mid then find(v*2+1,mid+1,r,x,y) else if y<=mid then find(v*2,l,mid,x,y) else begin find(v*2,l,mid,x,mid); find(v*2+1,mid+1,r,mid+1,y); end; end;end;begin assign(input,'t2.in'); reset(input); readln(n); for i:=1 to n do read(a[i]); readln; for i:=1 to n do begin read(x); b[x]:=i; end; for i:=1 to n do begin xx:=0; find(1,1,n,b[a[i]],n); y:=xx+1; if y>ans then ans:=y; change(1,1,n,b[a[i]]); end; writeln(ans); close(input);end.
0 0
- 【JZOJ4810】【NOIP2016提高A组五校联考1】道路规划
- 【NOIP2016提高A组五校联考1】道路规划
- JZOJ4810. 【NOIP2016提高A组五校联考1】道路规划
- 【NOIP2016提高A组五校联考1】道路规划
- JZOJ 4810 【NOIP2016提高A组五校联考1】道路规划
- 【NOIP2016提高A组五校联考1】道路规划
- 【NOIP2016提高A组五校联考1】道路规划
- 【NOIP2016提高A组五校联考1】排队
- 【NOIP2016提高A组五校联考1】排队
- 【NOIP2016提高A组五校联考1】排队
- 【NOIP2016提高A组五校联考1】排队
- 【NOIP2016提高A组五校联考1】排队
- NOIP2016提高A组五校联考1总结
- 【NOIP2016提高A组五校联考1】总结
- 【JZOJ 4810】【NOIP2016提高组 五校联考1】道路规划
- 【NOIP提高组五校联考】道路规划
- 【JZOJ4809】【NOIP2016提高A组五校联考1】挖金矿
- 【JZOJ4811】【NOIP2016提高A组五校联考1】排队
- 非监督学习(Udacity学习笔记)
- Centos - tips
- C++ pair 用法
- 通过IDE生成和手动call调用webservice
- 迎新晚会 | 奇点无限 引燃十月
- 【NOIP2016提高A组五校联考1】道路规划
- python文件读写的缓冲行为
- IOC装配bean(注解的方式)
- AngularJS 2.0入门指南
- 深入探索C++对象模型之拷贝构造函数
- MyEclipse工作空间搭建笔记
- 161004
- Effective Java 通用程序设计笔记
- java.sql.SQLException: ORA-00911: 无效字符