编程题
切开字符串 ### 题目描述 Pear 有一个字符串,不过他希望把它切成两段。 这是一个长度为 $N(N \leq 10^5)$ 的字符串。 Pear 希望选择一个位置,把字符串不重复不遗漏地切成两段,长度分别是 $t$ 和 $N-t$(这两段都必须非空)。 Pear 用如下方式评估切割的方案: 定义"正回文子串"为:长度为奇数的回文子串。 设切成的两段字符串中,前一段中有 $A$ 个不相同的正回文子串,后一段中有 $B$ 个不相同的非正回文子串,则该方案的得分为 $A \times B$。 注意,后一段中的 B 表示的是:"$\cdots$非正回文$\cdots$",而不是: "$\cdots$正回文$\cdots$"。 那么所有的切割方案中,$A \times B$ 的最大值是多少呢? ### 输入描述 输入第一行一个正整数 $N(N \leq 10^5)$ 。 接下来一行一个字符串,长度为 $N$。该字符串仅包含小写英文字母。 ### 输出描述 一行一个正整数,表示所求的 $A \times B$ 的最大值。 ### 输入输出样例 #### 示例 > 输入 ```txt 10 bbaaabcaba ``` > 输出 ```txt 38 ```
查看答案
赣ICP备20007335号-2