前言
连续段 DP 板子,问题在于没有学连续段 DP 并理解其本质
这个题目还可以当成每一次插入一些字母是一个很好的 trick
同时记得联考没有好东西,不会就跳了看后面的暴力拿满
经常出现 T3,4 没有时间做的情况也可以解决,尝试第一个小时先看完题目并且拿到最高的部分分再考虑 T1,2 虽然会损失一个小时但是至少可以把暴力分打满
题意
给出一个字符串求有多少种重排方案使得字符串的极长连续段数量为 \(S\)。
$ len\le 10^6,S\le 100 $。
思考
首先联考的时候考了 1h 突然说少了一个 \(S\le 100\) 的条件,然后引起公愤。
那么发现计数类问题的大部分做法都是 DP,或者说发现这个题目不能使用调整法找答案,所以考虑 DP。
- 思考过程1
首先 DP 只是搜索带上记忆化而已,所以考虑如果搜索要记录什么东西,最基本的搜索是记录每一个字母还剩下多少个,发现这个东西在 DP 里面不好记录,所以考虑换一种搜索方式,发现可以从最小的字母到最大的字母依次放入这个字符串,这样就只需要记录