1.题意表述十分难以理解,简单说就是:有n个单词,确定一个背的顺序,使总代价最小. 2.因为第(1)种情况的代价是n*n,这个代价比任何一种不出现第(1)种情况的方案都要大,所以最后肯定不会出现“背某个单词的时候它的后缀还没背”的情况. 3.考虑将每个串和单词表中它的最长后缀连边,则形成了一棵树.我们需要给树上每个点分配一个1~n的整数v[]且两两不同(就是背的顺序,要保证儿子分配到的数一定大于父亲).那么总代价就是所有点的v[i]-v[fa[i]].可以发现,要让总代价最小,最终的涂色序列(就…