Здраствуйте, подскажите пожалуйста как можно решить задачи 322. The Great Union и задачу 325. Palindrome.
Заранее спасибо).
| № | Пользователь | Рейтинг |
|---|---|---|
| 1 | jiangly | 3810 |
| 2 | Benq | 3676 |
| 3 | Kevin114514 | 3655 |
| 4 | maroonrk | 3463 |
| 5 | strapple | 3447 |
| 6 | Um_nik | 3387 |
| 7 | heuristica | 3322 |
| 8 | turmax | 3317 |
| 9 | tourist | 3307 |
| 10 | jiangbowen | 3291 |
| Страны | Города | Организации | Всё → |
| № | Пользователь | Вклад |
|---|---|---|
| 1 | Qingyu | 156 |
| 2 | nik_exists | 150 |
| 2 | maspy | 150 |
| 4 | Um_nik | 141 |
| 5 | Errichto | 139 |
| 6 | adamant | 137 |
| 7 | AmShZ | 136 |
| 8 | BledDest | 132 |
| 9 | maroonrk | 131 |
| 10 | qwexd | 129 |
Здраствуйте, подскажите пожалуйста как можно решить задачи 322. The Great Union и задачу 325. Palindrome.
Заранее спасибо).
| Название |
|---|



На 325 у меня есть довольно мутная идея...
Идея такая: разобьем буквы на "левые" и "правые" ("центральную" игнорируем). На каждом шаге мы должны выбрать, какие буквы мы поставим на края палиндрома. Очевидно, из одинаковых букв мы будем выбирать самую левую для "левой" буквы и самую правую для "правой". Выбирать будем жадно, оптимизируя следующую функцию: количество свапов для "левой" буквы минус количество "левых" букв справа от нее плюс количество свапов для "правой" буквы минус количество "правых" букв слева от нее.
P.S. Решение я еще не написал, но у меня в голове есть набросок доказательства.
**UPD.** Вопрос к знающим: как реализовать вышеописанную байду без применения дерамиды / дерева отрезков / вообще каких-либо деревьев?Уже реализовал.мхм )) я идею вроде твоего пробовала, но ВА8. возможно я где-то в коде ошибься. СПАСИБО огромное )
Решение по описанию выше с Фенвиком и одной хитрой оптимизацией зашло за 887мс.
UPD. Без Фенвика — 676мс.
322 казалось бы просто реализация. Находим дорогу, которой нет в первой стране, но есть во второй. Добавляем ее в первую страну. В результате получается цикл. В нем точно есть дорога, которой нет во второй стране. Удаляем ее. Так до тех пор, пока деревья не совпадут.
Ой да вроде очевидно ) огромное спасибо
В палиндроме жадность + фенвик же. http://pastie.org/4395924 мой старый код
sf