この問題を解決するアプローチが必要です!2番目のアナグラムである1番目の文字列のすべてのアナグラムの部分文字列の数を確認します。
問題:2番目の文字列の任意のアナグラムに等しいように、1番目の文字列のすべての異なるアナグラムの中で、交差していない部分文字列のモジュロ10^9 + 7をマッチした数の小文字アルファベットを含む2文字列。
例:
1)列1: "ABC"、文字列2: "AB"
回答= 4
説明: 'ABC'、 'BAC'、 'CAB'、 'CBA' のすべての貢献1それぞれが一致します。
2)列1: "ABCAB"、文字列2: "AB"
回答= 40
説明:一致カウントは2であるため、文字列1 'ABABC' の一つの可能なアナグラム 'AB' であり、 ' AB 'であり、一方、' BABCA 'は「BA」または「AB」の1つの試合のみに貢献する。
制約:
N、M第一及び第二の文字列の長さである
N メートル
Iが関与事前計算最初の200の階乗を実行しようとしたアプローチモジュロ10^9 + 7を計算し、与えられた文字列から、文字列が持つ可能性のある最大交差パターン(mx)を計算し、p = 1からmxまでループし、正確にp交差していない部分文字列を含む最初の文字列の並び替え回数を計算する(すなわち、ストリング2)パターンである。
私がここで紛失しているアプローチはありますか?
1)string2のアナグラムの数を計算 - ここ