题意给一个字符串和单词字典,问把字符串分割成词典中存在的单词可以有多少种方法(单词可以重复使用)首先是像dp那样考虑,令d(i)为从第i个字符开始到结束的字符串的方案数,然后可以得出d(i)=sum{d(i+len(x))|单词x是S[i,l]的前缀}。然后就是找一个串有多少个单词前缀了。。。字典树搜索即可搞定,就是在Trie中查找S[i,l],一路查过去把遇到的是单词节点的地方加上那里的d就可以了。
很蠢地空间开小了wa。。。很蠢地每次都对后缀求了strlen导致2000+ms惨案。。。很蠢地忘记了取模。。。
#include
#include
#include
#include