hdu 4333 Revolving Digits(扩展KMP)
设主串长为len,将主串扩展为2倍长度主串,如“341”变为“341341”,在遍历中遍历len长度即可得到全部可能生成的串,如“341、413、134”。对于重复串问题,只有这个串具有循环节的时候才会产生重复串,用KMP的next数组求出最小循环节,用长度除以最小循环节得到循环节个数,再将最后答案除以循环节个数即可。
#include
#include
#include
#include
原创
2015-11-08 18:00:24 ·
394 阅读 ·
0 评论