链接:http://www.codeforces.com/problemset/problem/173/E
想的久写的久,都累死了。。。。。
题意 : 自己看吧。。
这道题的话 , 首先观察到一个突破口:对于每个询问 的 leader 的年龄都有一个区间范围。而且leader的领导能力必须大于等于询问的这两个人的较大值 ,设为lim。
那么我们再想,怎么将两个人加进来后再去加入其他的人,很难搞啊!!于是先预处理出每个人当领导的时候这个组最多有多少个人。这个预处理应该不难。
问题转换为 : 询问一个年龄区间内选谁为leader小组人数最多 , 最简单的区间最值啊
但是还要满足一个条件,就是领导力要大于等于某个值才行。
我们可以将询问按照lim排序,按lim从打到小考虑每个询问 , 对于每个询问,这个leader的领导力必须要大于等于lim,所以可以每次将领导力大于等于lim的人都插入进线段树(值为预处理好的那个值),最后直接询问区间最值就好了。