挺好的一道题目,我的做法是kmp+Dinic网络流.kmp求子串在P中出现的次数,从而计算love值.网络流主要用来处理最优解.case2中p1的love值是8,p2的love值是7,最终T包含p1和p2,hate值也仅仅算一次.这个题目难点在于思考为什么网络流的解法是合理,可以反证.从而导出最优解等于love的总和-最大流.建图方法:source连接p,初始容量为love值:p连接s,初始容量为INF;s连接destination,容量为hate值.在最优解中,如果s到des的流量小于容量,则…