|
0 / 0 / 0
Регистрация: 14.08.2020
Сообщений: 2
|
||||||
Определить минимальное количество корректных отрезков, на которое можно разбить заданную последовательность. Версия 218.08.2020, 21:33. Показов 2897. Ответов 3
Известно, что если сохранить в каждом слове текста первую и последнюю букву, а остальные переставить произвольным образом, получившийся текст по-прежнему можно достаточно свободно прочитать. В лаборатории информатики исследуют аналогичный феномен для числовых последовательностей.
Будем называть последовательность, состоящую из целых положительных чисел, корректной, если первое число в этой последовательности является минимальным, а последнее — максимальным. Например, последовательности [1, 3, 2, 4] и [1, 2, 1, 2] являются корректными, а последовательность [1, 3, 2] — нет. Задана последовательность [a1,a2, ...,an] . Будем называть отрезок элементов заданной последовательности [al,al+ 1, ...,ar] корректным, если он представляет собой корректную последовательность: al является минимальным числом на этом отрезке, а ar — максимальным. В рамках исследования необходимо разбить заданную последовательность на минимальное количество непересекающихся корректных отрезков. Например, последовательность [2, 3, 1, 1, 5, 1] можно разбить на три корректных отрезка: [2, 3] и [1, 1, 5] и [1]. Требуется написать программу, которая по заданной последовательности определяет, на какое минимальное количество корректных отрезков её можно разбить. Входные данные Первая строка входных данных содержит целое число n (1 ≤n≤ 300000) — количество элементов в заданной последовательности. Вторая строка содержит n целых чисел a1,a2, ...,an — заданную последовательность (1 ≤ai≤ 109). Выходные данные Выведите одно число — минимальное количество корректных отрезков, на которое можно разбить заданную последовательность. На форуме уже есть решения этой задачи, с которыми я ознакомился: Задача "Расшифровка" Определить минимальное количество корректных отрезков, на которое можно разбить заданную последовательность. Свой код я написал еще до того как полез на форум:
Помогите найти ошибку, пожалуйста! Буду благодарен даже за тест, в котором прога выдает неверный ответ. P.S: Я вроде уже перебрал все тесты, где может что-то пойти не так, но проверяющая система пишет, что программа выдает неверный ответ. Уже даже "защиту от дурака" сделал, на всякий случай. Добавлено через 24 минуты Краткое описание алгоритма: бегу по массиву, сохраняя возрастающие последовательности в другой массив. Если нахожу число, которое больше максимума определенной последовательности из второго массива, то я сливаю эту последовательность, и последовательность, которую я строю сейчас. Работать продолжаю с уже новой возрастающей последовательностью, и так далее. Если нахожу элемент, который меньше минимума среди минимумов последовательностей в массиве(это значит, что дальнейшие последовательности уже нельзя будет слить), то я опустошаю массив и прибавляю к счетчику корректных последовательностей его длину. Тоже самое делаю в самом конце.
0
|
||||||
| 18.08.2020, 21:33 | |
|
Ответы с готовыми решениями:
3
Определить минимальное число групп, на которое можно разбить все числа от 1 до N Вычислить минимальное количество сбалансированных групп, на которое можно разбить всех работников компании |
|
5515 / 2868 / 571
Регистрация: 07.11.2019
Сообщений: 4,758
|
||||||
| 24.08.2020, 06:51 | ||||||
0
|
||||||
|
0 / 0 / 0
Регистрация: 14.08.2020
Сообщений: 2
|
|
| 24.08.2020, 18:34 [ТС] | |
|
Извините, не совсем понял что Вы хотели этим показать. Тест на первой строчке у меня проходит. Если Вы хотите предложить решение на второй строчке, то оно также будет выдавать неверный ответ, потому что Вы просто суммируете участки где текущий элемент меньше предыдущего, как я понял. К примеру, в тесте x = [1, 3, 2, 4] Ваша программа выдаст 2, хотя правильный ответ 1.
0
|
|
|
8849 / 4501 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
|
||||||
| 24.08.2020, 21:29 | ||||||
Сообщение было отмечено Ruchey как решение
Решение
Добавлено через 2 минуты
https://informatics.mccme.ru/m... d=113915#1 Там есть результаты отдельных тестов Добавлено через 14 минут
Похоже, если последний элемент равен минимуму последовательности и встречался раньше, то он не считается в "s"
1
|
||||||
| 24.08.2020, 21:29 | |
|
Помогаю со студенческими работами здесь
4
Количество плиток, которое можно уложить на заданную площадь Определить количество слов, которое содержат заданную букву определенное количество раз Максимальное количество кусочков, на которое можно разбить слово На какое минимальное и максимальное количество слогов можно разбить слово Определить минимальное количество пролетов, которое нужно проехать чтобы определить неисправные индикаторы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net
REST сервисы временно не работают, только через Web.
Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
|
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
|
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
|
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма).
На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
|
|
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ *
Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи
и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
|
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым.
Но восстановить их можно так.
Для этого понадобится консольная утилита. . .
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|