Здраствуйте, подскажите пожалуйста как можно решить задачи 322. The Great Union и задачу 325. Palindrome.
Заранее спасибо).
№ | Пользователь | Рейтинг |
---|---|---|
1 | tourist | 4009 |
2 | jiangly | 3823 |
3 | Benq | 3738 |
4 | Radewoosh | 3633 |
5 | jqdai0815 | 3620 |
6 | orzdevinwang | 3529 |
7 | ecnerwala | 3446 |
8 | Um_nik | 3396 |
9 | ksun48 | 3390 |
10 | gamegame | 3386 |
Страны | Города | Организации | Всё → |
№ | Пользователь | Вклад |
---|---|---|
1 | cry | 167 |
2 | Um_nik | 163 |
3 | maomao90 | 162 |
3 | atcoder_official | 162 |
5 | adamant | 159 |
6 | -is-this-fft- | 158 |
7 | awoo | 156 |
8 | TheScrasse | 154 |
9 | Dominater069 | 153 |
9 | nor | 153 |
Здраствуйте, подскажите пожалуйста как можно решить задачи 322. The Great Union и задачу 325. Palindrome.
Заранее спасибо).
Название |
---|
На 325 у меня есть довольно мутная идея...
Идея такая: разобьем буквы на "левые" и "правые" ("центральную" игнорируем). На каждом шаге мы должны выбрать, какие буквы мы поставим на края палиндрома. Очевидно, из одинаковых букв мы будем выбирать самую левую для "левой" буквы и самую правую для "правой". Выбирать будем жадно, оптимизируя следующую функцию: количество свапов для "левой" буквы минус количество "левых" букв справа от нее плюс количество свапов для "правой" буквы минус количество "правых" букв слева от нее.
P.S. Решение я еще не написал, но у меня в голове есть набросок доказательства.
**UPD.** Вопрос к знающим: как реализовать вышеописанную байду без применения дерамиды / дерева отрезков / вообще каких-либо деревьев?Уже реализовал.мхм )) я идею вроде твоего пробовала, но ВА8. возможно я где-то в коде ошибься. СПАСИБО огромное )
Решение по описанию выше с Фенвиком и одной хитрой оптимизацией зашло за 887мс.
UPD. Без Фенвика — 676мс.
322 казалось бы просто реализация. Находим дорогу, которой нет в первой стране, но есть во второй. Добавляем ее в первую страну. В результате получается цикл. В нем точно есть дорога, которой нет во второй стране. Удаляем ее. Так до тех пор, пока деревья не совпадут.
Ой да вроде очевидно ) огромное спасибо
В палиндроме жадность + фенвик же. http://pastie.org/4395924 мой старый код
sf