[Ответить в тред] Ответить в тред

15/11/16 - **НОВЫЙ ФУНКЦИОНАЛ** - Стикеры
09/10/16 - Открыта доска /int/ - International, давайте расскажем о ней!
30/09/16 - BREAKING NEWS ШОК АБУ ПРОДАЛСЯ МЭЙЛУ (на самом деле нет)


Новые доски: /2d/ - Аниме/Беседка • /wwe/ - WorldWide Wrestling Universe • /ch/ - Чатики и конфочки • /int/ - International • /ruvn/ - Российские визуальные новеллы • /math/ - Математика • Создай свою

[Назад][Обновить тред][Вниз][Каталог] [ Автообновление ] 15 | 4 | 8
Назад Вниз Каталог Обновить

Аноним 19/11/16 Суб 02:18:28  140370679  
image.png (10Кб, 640x1136)
Пишу с яблокофона, двощ. Нужны прогромиств, кодеры, инженеры и прочие боги. У меня проблема пикрелейт
Аноним 19/11/16 Суб 02:20:51  140370784
Бамп
Аноним 19/11/16 Суб 02:24:46  140370939
>>140370679 (OP)
а пока у ОПа неведомая хуйня с трубой мы будем решать тут задачу.

A KMP algorithm takes a string, S, of length N as input. Let's assume that the characters in S are indexed from 1 to N; for every prefix of S, the algorithm calculates the length of its longest valid border in linear complexity. In other words, for every i (where 1<= i <= N) it calculates the largest l (where 0 <= l <= i-1) such that for every p (where 1 <= p <= l) there is S[p]=S[i-l+p].

Given a sequence x1,..x26, construct a string, S, that meets the following conditions:

1.The frequency of letter 'a' in is exactly x1, the frequency of letter 'b' in is exactly x2, and so on.
2. Let's assume characters of S are numbered from 1 to N, where sum x=N. We apply the KMP algorithm to S and get a table, kmp, of size N. You must ensure that the sum of kmp for all i is minimal.

If there are multiple strings which fulfill the above conditions, print the lexicographically smallest one.
Аноним 19/11/16 Суб 02:44:25  140371610
как можно заметить, в этой задаче берутся все префиксы p для S, каждого из них берется r такая что r и префикс p и суффикс. и считается sum len(r).

что это означает. во-первых это означает, что часть ответа, которая зависит от префикса S зависит только от него. то есть это выглядит как
заход на перебор, если бы нас не ждал комбинаторный взрыв в тестах.
Аноним 19/11/16 Суб 03:06:09  140372341
попробуем частные случаи. для строк из одной буквы получаем
x 0... => x(x-1)/2.
для строк из двух букв вырисовывается формула
1 2 3 4 5
1 0 0 0 0 0
2 0 1 1 1 1
3 0 1 2 2 2
4 0 1 2 3 3
5 0 1 2 3 4
x y => min(x,y)-1
Аноним 19/11/16 Суб 03:24:52  140372984
>>140372341
гипотеза: если x не равно нулю больше одного, то min(sum(kmp)) = min(x)-1
Аноним 19/11/16 Суб 03:28:39  140373152
Макару привет
Аноним 19/11/16 Суб 03:36:27  140373455
>>140372984
во-первых, надо взять меньшую букву из меньше всех встречающихся букв. она будет первой, а все оставшиеся ее вхождения в S будут давать единицы в kmp.
во-вторых, остальные буквы надо отсортировать по алфавиту и приконкатить к этой первой букве.
Аноним 19/11/16 Суб 03:40:04  140373577
image.png (277Кб, 512x512)
пиздец,зашел в тред и сошел с ума
Аноним 19/11/16 Суб 03:51:07  140373932
>>140373455
при этом если буквы не самые младшие, т.е. не цепляются куском к первой букве, то все ок.
если же первой буквы больше двух, то третью нельзя ставить в упор, она идет через одну.
но основной вопрос к остальным буквам.
Аноним 19/11/16 Суб 03:56:52  140374091
14783438921570.jpg (50Кб, 526x374)
>>140373577
Такая же хуйня
Аноним 19/11/16 Суб 04:00:40  140374189
>>140373932
для первой буквы хорошо то, что вторая первая буква идет рядом с первой, а все остальные через одну - в этом случае в kmp значение получается ровно 1, т.к. нигде не будет суффикса из двух подряд первых букв. а это уже выглядит как решение.
Аноним 19/11/16 Суб 04:16:57  140374658
webcam-toy-phot[...].jpg (38Кб, 604x475)
Аноним 19/11/16 Суб 04:42:48  140375204
норм, решение прошло тесты.

поздравляю всех участников, спасибо академии, богу и моей маме.
Аноним 19/11/16 Суб 04:44:11  140375234
>>140370679 (OP)
Х значит хуй, попробуй нажать, чтобы победить
Аноним 19/11/16 Суб 05:36:37  140376302
>>140370679 (OP)
бочку уже делал?
хуйцы сосал?

[Назад][Обновить тред][Вверх][Каталог] [Реквест разбана] [Подписаться на тред] [ ] 15 | 4 | 8
Назад Вверх Каталог Обновить

Топ тредов
Избранное