码迷,mamicode.com
首页 > 其他好文 > 详细

「CF176B」 Word Cut

时间:2019-11-02 11:49:42      阅读:79      评论:0      收藏:0      [点我收藏+]

标签:产生   通过   solution   交换   esc   inline   处理   kmp   code   

Description

求经过 \(k\) 次将 \(S\) 划分成两部分并交换使 \(S\) 串变成 \(T\) 串的方案数。

Solution

可以发现,每次可以将原串变为本质不同的其他串,也可以从其他串变为原串。无论多少次变换,归根结底都可以通过仅一次变换求出,所以先预处理出一个 \(cnt\) 来表示原串通过一次变换有多少个 \(T\)。暴力和 kmp 都可以,由于数据范围不大所以选择前者。

\(f_{i,0}\) 为经过 \(i\) 次变换所产生的原串个数,\(f_{i,1}\) 为其他串的个数。

不如将 \(T\) 看作原串。如果 \(S \not= T\),那么 \(S\) 为其他串。

Code

「CF176B」 Word Cut

标签:产生   通过   solution   交换   esc   inline   处理   kmp   code   

原文地址:https://www.cnblogs.com/lyfoi/p/11780986.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!