|
0 / 0 / 0
Регистрация: 15.07.2019
Сообщений: 69
|
|
Нужно сделать задачку30.07.2019, 14:09. Показов 1311. Ответов 10
Метки нет (Все метки)
Будем называть последовательность, состоящую из целых положительных чисел, корректной , если первое число в этой последовательности является минимальным, а последнее — максимальным. Например, последовательности [1, 3, 2, 4] и [1, 2, 1, 2] являются корректными, а последовательность [1, 3, 2] — нет.
Задана последовательность [ a^1 , a^2 , ..., a^n ] . Будем называть отрезок элементов заданной последовательности [ a^l , a^l + 1 , ..., a r ] корректным, если он представляет собой корректную последовательность: a l является минимальным числом на этом отрезке, а a r — максимальным. необходимо разбить заданную последовательность на минимальное количество непересекающихся корректных отрезков. Например, последовательность [2, 3, 1, 1, 5, 1] можно разбить на три корректных отрезка: [2, 3] и [1, 1, 5] и [1] . Требуется написать программу, которая по заданной последовательности определяет, на какое минимальное количество корректных отрезков её можно разбить. Входные данные Первая строка входных данных содержит целое число n ( 1 ≤ n ≤ 300 000 ) — количество элементов в заданной последовательности. Вторая строка содержит n целых чисел a^1 , a^2 , ..., a^n — заданную последовательность ( 1 ≤ a^i ≤ 10^9 ). Выходные данные Выведите одно число — минимальное количество корректных отрезков, на которое можно разбить заданную последовательность. Примеры входные данные 5 5 4 3 2 1 выходные данные 5 входные данные 4 1 3 2 4 выходные данные 1 входные данные 6 2 3 1 1 5 1 выходные данные 3 Можно не готовый код, а хотя бы алгоритм на практике
0
|
|
| 30.07.2019, 14:09 | |
|
Ответы с готовыми решениями:
10
Нужно сделать задачку Нужно сделать задачку по label Нужно сделать задачку через подпрограммы на c++ |
|
0 / 0 / 0
Регистрация: 15.07.2019
Сообщений: 69
|
|
| 30.07.2019, 14:17 [ТС] | |
|
ну да, линейные алгоритмы быть точнее
0
|
|
|
2 / 3 / 0
Регистрация: 28.07.2014
Сообщений: 12
|
|
| 30.07.2019, 16:04 | |
|
dondublon, дп тут максимум 60 баллов получишь.
0
|
|
|
|
|
| 30.07.2019, 16:32 | |
|
Bluestick, не в курсе, что такое линейные алгоритмы, но вам виднее.
Ricoden, видимо, вы в курсе какого-то контекста этой задачи, но я - нет. Я не знаю, на сколько баллов она оценивается, 60 - это хорошо или плохо, да мне это и неинтересно. Если это намёк, что данную задачу можно решить каким-то другим способом - поделитесь, это уже интересно. Добавлено через 2 минуты Bluestick, посмотрел в инете. Линейные алгоритмы - прямые, как линия партии, без единого if-а. Удивлюсь, если они вам тут помогут.
0
|
|
|
2 / 3 / 0
Регистрация: 28.07.2014
Сообщений: 12
|
|
| 30.07.2019, 16:34 | |
|
dondublon, он прав, просто эта задача по спортивному программированию из раздела "Линейные алгоритмы". Нужно придумать решение за O(n).
0
|
|
|
0 / 0 / 0
Регистрация: 15.07.2019
Сообщений: 69
|
|
| 30.07.2019, 16:40 [ТС] | |
|
можно находить минимум на
отрезке с помощью дерева отрезков или разреженных таблиц. O(n) отрезков, обработка каждого за O(log n) или O(1). Вот только я не знаю как бы это реализовать
0
|
|
|
1 / 1 / 0
Регистрация: 01.11.2018
Сообщений: 1
|
||||||
| 31.07.2019, 18:35 | ||||||
|
Попробуйте.
1
|
||||||
|
1293 / 677 / 367
Регистрация: 07.01.2019
Сообщений: 2,302
|
||||||
| 31.07.2019, 20:08 | ||||||
0
|
||||||
|
0 / 0 / 0
Регистрация: 01.01.2019
Сообщений: 2
|
|
| 01.08.2019, 08:38 | |
|
Ну эта задача со ВсеРоса. И там ДО заходит)))
0
|
|
| 01.08.2019, 08:38 | |
|
Помогаю со студенческими работами здесь
11
Нужно сделать задачку в программе Pascal
Нужно подправить задачку нужно проверить задачку Нужно разобрать задачку Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
kYBz3eJf3jQ
|
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
|
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
|
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора
Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2.
Задача: уведомлять пользователя, если. . .
|
|
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
|
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2.
Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
|
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
|
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
|