4.中文搜索引擎分词问题:如果有一个中文词库,词条大概在10万级别。先要根据此词库对某篇中文文章进行分词,然后更新相关词条的索引,以方便以后供用户搜索使用。假设我们涉及到的都是汉字,请设计一个算法,在尽可能快的时间内将文章进行分词。原则是长度优先,即如果有“中国”,“人民”和“中国人民”三个词条,并且文章中恰好出现“中国人民”连续四个字,那么分词的结果应该是“中国人民”。
反序表定义:
假如a1,a2,……,an是1,2,……,n的一个排列。比如3,5,7,4,6,2,8,9,1就是1,2,3,……8,9的一个排列。bj表示位于j左边,比j大的数的个数。对于上述排列,有b1=8, b2=5, b3=0, b4=2,b5=0, b6=1, b7=0, b8=0, b9=0。 
我们定义一个排列的反序表为: b 1, b2,.., bn
比如排列3,5,7,4,6,2,8,9,1的反序表为8,5,0,2,0,1,0,0,0
.请设计一个算法,己知a1,a2,.....,an,求其反序表b1,b2,.....,bn,要求算法的复杂度为O(n*logn)
请设计一个算法,己知反序表b1,b2,.....,bn,求其排列al,a2,.....,an,要求算法的复杂度为O(n*logn)