序列
题目大意
有a,b,c三个序列,长度均为n。
如果i>j,且
ci
>=
bj
,
bi
>=
aj
,则
fi
可以等于
fj
+1,求最大的
fn
。
题目保证满足
ai
>=
bi
>=
ci
输入格式
第一行一个整数n。
接下来三行,分别为a,b,c序列。
每两个整数之间用空格隔开。
输出格式
一个整数,表示最大的 fn 。
样例输入
3
2 2 2
1 3 2
2 3 3
样例输出
3
数据范围
题解
我们可以从题目中看出,动态转移方程有两个条件。
因此,这题用树套树。
对于第一个条件,我们可以开一个树状数组维护它,对于树状数组上我们找到的每一位,我们在这一位内再寻找到满足第二个条件的最大值即可,至于如何求某一位上的最大值内,对于每一位,可以开一棵线段树,动态开区间就可以保证空间不会暴。