atcoder#CODEFESTIVAL2017QUALCD. Yet Another Palindrome Partitioning

Yet Another Palindrome Partitioning

题目描述

英小文字のみからなる文字列 s s があります。 すぬけ君は、s s をいくつかの空でない部分文字列へ分割しようとしています。 分割後の部分文字列を、左から順に s1 s_1 , s2 s_2 , ... ... , sN s_N とします (このとき、s = s1 + s2 + ... + sN s\ =\ s_1\ +\ s_2\ +\ ...\ +\ s_N です)。 すぬけ君は、次の条件が成り立つように s s を分割しようとしています。

  • i i (1  i  N 1\ \leq\ i\ \leq\ N ) について、si s_i の文字を並べ替えて回文が得られる。

条件が成り立つように s s を分割するとき、N N の最小値を求めてください。

输入格式

入力は以下の形式で標準入力から与えられる。

s s

输出格式

条件が成り立つように s s を分割するとき、N N の最小値を求めよ。

题目大意

题目描述

给定一个字符串s\texttt{s},把s\texttt{s}分成NN个子串,要求每个子串中的字母经过一定的移动,会变成一个回文串(如aab经过一定的移动,变成了abaaba是一个回文串),NN最少

输入格式

一个字符串s\texttt{s}1|s|2×1051 \le \texttt{|s|} \le 2 \times 10^5

输出格式

一个正整数NN,表示最少的子串个数。

aabxyyzz
2
byebye
1
abcdefghijklmnopqrstuvwxyz
26
abcabcxabcx
3

提示

制約

  • 1  s  2 × 105 1\ \leq\ |s|\ \leq\ 2\ \times\ 10^5
  • s s は英小文字のみからなる。

Sample Explanation 1

aabxyyzz = aab + xyyzz と分割すればよいです。 このとき、aab の文字を並べ替えて回文 aba が得られ、xyyzz の文字を並べ替えて回文 zyxyz が得られます。

Sample Explanation 2

byebye の文字を並べ替えて回文 byeeyb が得られます。

Sample Explanation 4

abcabcxabcx = a + b + cabcxabcx と分割すればよいです。