HDU 5435/BC 54E AB String
由于询问的是原串中不存在的第k小的子串,而不存在的子串应该有很多,长度为32的串有232个,而原串的子串最多有4*108个,所以第109小的不存在串长度一定小于等于32。
所以可以讲长度小于等于32的串都处理出来,排序去重,由于原串只有AB两种字母,可以令A为0,B为1,将串hash成一个数,由于0(A)和00(AA)是不同的串,所以可以在最前面加个1,即10表示串"A"。然后对于某个可以二分答
原创
2016-10-18 21:03:09 ·
436 阅读 ·
0 评论