1

(15 ответов, оставленных в Problems)

Толи я чего-то не понимаю, но для составной подстроки: a1b2
построив СА

Array
(
    [0] => Array
        (
            [len] => 0
            [link] => -1
            [next] => Array
                (
                    [a] => 1
                    [1] => 2
                    [b] => 3
                    [2] => 4
                )

        )

    [1] => Array
        (
            [len] => 1
            [link] => 0
            [next] => Array
                (
                    [1] => 2
                )

        )

    [2] => Array
        (
            [len] => 2
            [link] => 0
            [next] => Array
                (
                    [b] => 3
                )

        )

    [3] => Array
        (
            [len] => 3
            [link] => 0
            [next] => Array
                (
                    [2] => 4
                )

        )

    [4] => Array
        (
            [len] => 4
            [link] => 0
        )

)

мы получим достижимости из узлов 1,2,3 для перовго разделителя(1) и 1,3,4 - для второго(2). Далее казалось бы нужно построить суффикс для узла 3? Что уже наверное неправильно, так длина суффикса в этой вершине 3, а мы явно видим, что здесь нет общей строки. Я хотел было сначала составлять суффикс, перебирая все вершины для поиска ребер за исключением разделителей и уменьшая длину len за итерацию, однако в этом я тоже не уверен.

Помощь нужна срочно)