题目链接 题意:你要打印一段字符串,往尾部添加一个字符需要花费p元,复制一段字符到尾部需要花费q元,求打印完全部字符的最小花费. 一开始想的贪心,后来发现忘了考虑p<q的情况了,还纳闷怎么不对..(囧) 设$dp[i]$为打印完前i个字符的最小花费 第一种转移是$dp[i+1]=min(dp[i+1],dp[i]+p)$,可以直接转移 第二种转移是$dp[j]=min(dp[j],dp[i]+q)$,对于每个i需要找到最大的j,使得$s[i+1,j]$是$s[1,i]$的子串.说到子串,就自然能…