Куча(30 задач)
    Двоичное дерево поиска(24 задач)
    Дерево отрезков, RSQ, RMQ(90 задач)
    Бор(14 задач)
    Дерево Фенвика(6 задач)
    Декартово дерево(10 задач)
---> 174 задач <---
Источники
    Личные олимпиады(938 задач)
    Командные олимпиады(684 задач)
Страница: << 1 2 3 4 5 6 7 >> Отображать по:
ограничение по времени на тест
5.0 second;
ограничение по памяти на тест
64 megabytes

Отсортируйте данный массив. Используйте пирамидальную сортировку.

Входные данные

Первая строка входных данных содержит количество элементов в массиве NN  ≤  105. Далее задаются N целых чисел, не превосходящих по абсолютной величине 109.

Выходные данные

Выведите эти числа в порядке неубывания.

ограничение по времени на тест
4.0 second;
ограничение по памяти на тест
64 megabytes

В этой задаче вам необходимо организовать структуру данных Heap для хранения целых чисел, над которой определены следующие операции:

   a) Insert(k) – добавить в Heap число k (1 ≤  k ≤ 1000000) ;
   b) Extract достать из Heap наибольшее число (удалив его при этом).

Входные данные

В первой строке содержится количество команд N (1 ≤  N ≤ 100000), далее следуют N команд, каждая в своей строке.  Команда может иметь  формат: “0 <число>” или “1”, обозначающий, соответственно, операции Insert(<число>) и Extract. Гарантируется, что при выполенении команды Extract в структуре находится по крайней мере один элемент.

Выходные данные

Для каждой команды извлечения необходимо отдельной строкой вывести число, полученное при выполнении команды Extract.

Примеры
Входные данные
2
0 10000
1
Выходные данные
10000
ограничение по времени на тест
0.5 second;
ограничение по памяти на тест
64 megabytes

Рассмотрим последовательность целых чисел длины N. По ней с шагом 1 двигается “окно” длины K, то есть сначала в “окне” видно первые K чисел, на следующем шаге в “окне” уже будут находиться K чисел, начиная со второго, и так далее до конца последовательности. Требуется для каждого положения “окна” определить минимум в нём.

Входные данные

В первой строке входных данных содержатся два числа N и K (1 ≤  N ≤  150000, 1 ≤ K ≤ 10000, K ≤  N) – длины последовательности и “окна”, соответственно. На следующей строке находятся N чисел – сама последовательность.

Выходные данные

Выходые данные должны содержать NK + 1 строк – минимумы для каждого положения “окна”.

Примеры
Входные данные
7 3
1 3 2 4 5 3 1
Выходные данные
1
2
2
3
1
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
64 megabytes

Реализуйте бинарное дерево поиска для целых чисел. Программа получает на вход последовательность целых чисел и строит из них дерево. Элементы в деревья добавляются в соответствии с результатом поиска их места. Если элемент уже существует в дереве, добавлять его не надо. Балансировка дерева не производится.

Входные данные

На вход программа получает последовательность натуральных чисел. Последовательность завершается числом 0, которое означает конец ввода, и добавлять его в дерево не надо.

Выходные данные

Выведите единственное число – количество уровней получившегося дерева.

Пример соответствует следующему дереву:

Задача А, рис. 1

Примеры
Входные данные
7 3 2 1 9 5 4 6 8 0
Выходные данные
4

Подсчитайте количество элементов в получившемся дереве и выведите это количество.

Входные данные

Вводится последовательность целых чисел, оканчивающаяся нулем. Сам ноль в последовательность не входит.

Выходные данные

Выведите ответ на задачу.

Примеры
Входные данные
7 3 2 1 9 5 4 6 8 0
Выходные данные
9

Страница: << 1 2 3 4 5 6 7 >> Отображать по:
Выбрано
:
Отменить
|
Добавить в контест