Командная тренировка №4 (20.08.2013, Northern Subregional 2008): различия между версиями
Перейти к навигации
Перейти к поиску
Строка 14: | Строка 14: | ||
== Задачи и комментарии == | == Задачи и комментарии == | ||
* A. Access Control (<span style="color: green;">'''решена на тренировке'''</span>) | * A. Access Control (<span style="color: green;">'''решена на тренировке'''</span>) | ||
: '' '' | : ''[http://pastebin.com/qaPHTxpQ Код решения]. '' | ||
* B. Billboard (<span style="color: green;">'''решена на тренировке'''</span>) | * B. Billboard (<span style="color: green;">'''решена на тренировке'''</span>) | ||
: '' [http://pastebin.com/cguAKaxv Код решения]. Построим дерево отрезков для максимума на отрезке. Теперь мы можем эффективно выбирать самый левый элемент >= b. Для этого нужно спуститься от корня до листа дерева следуя следующему правилу: если значение в левом поддереве >= b, тогда рекурсивно вызваваться из левого поддерева, иначе - из правого. Если значение в корне < b - тогда ответ на запрос -1. | : '' [http://pastebin.com/cguAKaxv Код решения]. Построим дерево отрезков для максимума на отрезке. Теперь мы можем эффективно выбирать самый левый элемент >= b. Для этого нужно спуститься от корня до листа дерева следуя следующему правилу: если значение в левом поддереве >= b, тогда рекурсивно вызваваться из левого поддерева, иначе - из правого. Если значение в корне < b - тогда ответ на запрос -1. | ||
Итоговая асимптотика O(N*log N). — А. К. '' | : Итоговая асимптотика O(N*log N). — А. К. '' | ||
* C. Class (<span style="color: green;">'''решена на тренировке'''</span>) | * C. Class (<span style="color: green;">'''решена на тренировке'''</span>) | ||
: '' '' | : ''[http://pastebin.com/WTMDpbMV Код решения]. '' | ||
* D. Deposits (<span style="color: green;">'''решена на тренировке'''</span>) | * D. Deposits (<span style="color: green;">'''решена на тренировке'''</span>) | ||
: '' '' | : ''[http://pastebin.com/dpcisQnn Код решения]. '' | ||
* E. Enchanted Mirror (<span style="color: green;">'''решена на тренировке'''</span>) | * E. Enchanted Mirror (<span style="color: green;">'''решена на тренировке'''</span>) | ||
: '' '' | : ''[http://pastebin.com/haK4x6p4 Код решения]. '' | ||
* F. Fenwick Tree (<span style="color: green;">'''решена в дорешивании'''</span>) | * F. Fenwick Tree (<span style="color: green;">'''решена в дорешивании'''</span>) | ||
: ''[http://pastebin.com/vbE2VtvV Код решения]. Для каждой вершины v := 1..N: если l(v) > 1, считаем сумму s = sum(a[v - l(v) + 1], .., a[v - 2]); присваем элементу a[v - 1] = -s. | : ''[http://pastebin.com/vbE2VtvV Код решения]. Для каждой вершины v := 1..N: если l(v) > 1, считаем сумму s = sum(a[v - l(v) + 1], .., a[v - 2]); присваем элементу a[v - 1] = -s. | ||
Итоговая асимптотика O(N*log N). — А. К.'' '' | : Итоговая асимптотика O(N*log N). — А. К.'' '' | ||
* G. Ground Works | * G. Ground Works | ||
: '' '' | : '' '' | ||
* H. Holes (<span style="color: green;">'''решена на тренировке'''</span>) | * H. Holes (<span style="color: green;">'''решена на тренировке'''</span>) | ||
: '' '' | : ''[http://pastebin.com/PwcbS07i Код решения]. '' | ||
* I. Important Wires (<span style="color: green;">'''решена на тренировке'''</span>) | * I. Important Wires (<span style="color: green;">'''решена на тренировке'''</span>) | ||
: '' '' | : ''[http://pastebin.com/RrV3fCQs Код решения]. '' | ||
* J. Just Too Lucky | * J. Just Too Lucky | ||
: '' '' | : '' '' | ||
* K. Key to Success (<span style="color: green;">'''решена на тренировке'''</span>) | * K. Key to Success (<span style="color: green;">'''решена на тренировке'''</span>) | ||
: '' '' | : ''[http://pastebin.com/mXGne193 Код решения]. '' | ||
[[Category:Командные тренировки — 2013]] | [[Category:Командные тренировки — 2013]] |
Версия от 18:07, 20 августа 2013
Участники тренировки
- Андрей Корнеев
- Ольга Фирсова
- Владимир Фолунин
- Александр Ерофеев (организатор)
Соревнование
Northern Subregional Programming Contest 2008 (Северный четвертьфинал, 2008 год, Санкт-Петербург). Для прохода в полуфинал требовалось решить 6-7 задач.
Задачи и комментарии
- A. Access Control (решена на тренировке)
- B. Billboard (решена на тренировке)
- Код решения. Построим дерево отрезков для максимума на отрезке. Теперь мы можем эффективно выбирать самый левый элемент >= b. Для этого нужно спуститься от корня до листа дерева следуя следующему правилу: если значение в левом поддереве >= b, тогда рекурсивно вызваваться из левого поддерева, иначе - из правого. Если значение в корне < b - тогда ответ на запрос -1.
- Итоговая асимптотика O(N*log N). — А. К.
- C. Class (решена на тренировке)
- D. Deposits (решена на тренировке)
- E. Enchanted Mirror (решена на тренировке)
- F. Fenwick Tree (решена в дорешивании)
- Код решения. Для каждой вершины v := 1..N: если l(v) > 1, считаем сумму s = sum(a[v - l(v) + 1], .., a[v - 2]); присваем элементу a[v - 1] = -s.
- Итоговая асимптотика O(N*log N). — А. К.
- G. Ground Works
- H. Holes (решена на тренировке)
- I. Important Wires (решена на тренировке)
- J. Just Too Lucky
- K. Key to Success (решена на тренировке)