10 / 59 / 21
Регистрация: 12.03.2017
Сообщений: 514
|
|
1 | |
Мутанты31.10.2017, 11:22. Показов 6167. Ответов 26
Метки нет (Все метки)
Уже долгое время в Институте Искусств, Мутантов и Информационных Технологий разводят милых разноцветных зверюшек. Для удобства каждый цвет обозначен своим номером, всего цветов не более 109. В один из прекрасных дней в питомнике случилось чудо: все зверюшки выстроились в ряд в порядке возрастания цветов. Пользуясь случаем, лаборанты решили посчитать, сколько зверюшек разных цветов живет в питомнике, и, по закону жанра, попросили вас написать программу, которая поможет им в решении этой нелегкой задачи.
Формат входных данных В первой строке входного файла содержится единственное число N (0≤N≤105) — количество зверюшек в Институте. В следующей строке находятся N упорядоченных по неубыванию неотрицательных целых чисел, не превосходящих 109 и разделенных пробелами — их цвета. В третьей строке файла записано число M (1≤M≤100000) — количество запросов вашей программе, в следующей строке через пробел записаны M целых неотрицательных чисел (не превышающих 109+1). Формат выходных данных Выходной файл должен содержать M строчек. Для каждого запроса выведите число зверюшек заданного цвета в питомнике. Примеры входные данные 10 1 1 3 3 5 7 9 18 18 57 5 57 3 9 1 179 выходные данные 1 2 1 2 0
0
|
31.10.2017, 11:22 | |
Ответы с готовыми решениями:
26
Бинарный поиск. Мутанты Задача Мутанты Усовершенствовать решение задачи "Муравьи-мутанты" Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
223 / 213 / 80
Регистрация: 26.04.2013
Сообщений: 972
|
||||||
31.10.2017, 11:40 | 3 | |||||
0
|
672 / 475 / 215
Регистрация: 06.09.2013
Сообщений: 1,306
|
|
31.10.2017, 11:45 | 4 |
mat_for_c, это же расточительно с точки зрения памяти, 10^9 цветов может быть.
В отсортированном массиве - можно просчитать за один пробег как в поиске максимума, считая длины подпоследовательностей с одинаковыми элементами. Лучше - использовать бинарный поиск с двумя разными сравнениями.
0
|
223 / 213 / 80
Регистрация: 26.04.2013
Сообщений: 972
|
|
31.10.2017, 11:47 | 5 |
0
|
672 / 475 / 215
Регистрация: 06.09.2013
Сообщений: 1,306
|
|
31.10.2017, 11:50 | 6 |
0
|
223 / 213 / 80
Регистрация: 26.04.2013
Сообщений: 972
|
|
31.10.2017, 11:50 | 7 |
0
|
672 / 475 / 215
Регистрация: 06.09.2013
Сообщений: 1,306
|
|
31.10.2017, 11:52 | 8 |
Да, но для каждого элемента массива, то есть сложность вашего алгоритма будет n log(n).
А если бинарным поиском найти начала и конец интервала цвета - сложность 2 log(n)
0
|
223 / 213 / 80
Регистрация: 26.04.2013
Сообщений: 972
|
|
31.10.2017, 11:55 | 9 |
давай подсчитаем. 10000 элементов в словаре, т.е. 20000*4 байт = 80000 Б = 781,25 КБ = 0,762940 MБ.
если вы уж не найдете 1 мб оперативки, мне жаль вас... Добавлено через 1 минуту т.е. вопрос уже не в памяти)
0
|
672 / 475 / 215
Регистрация: 06.09.2013
Сообщений: 1,306
|
|
31.10.2017, 11:57 | 10 |
И в памяти, и во времени выполнения.
Если можно реализовать лучше по обоим критериям, почему бы это не сделать?
0
|
223 / 213 / 80
Регистрация: 26.04.2013
Сообщений: 972
|
|
31.10.2017, 11:58 | 11 |
0
|
10 / 59 / 21
Регистрация: 12.03.2017
Сообщений: 514
|
|
31.10.2017, 12:22 [ТС] | 12 |
Мне нужна целая работающая программа.
0
|
3881 / 2479 / 418
Регистрация: 09.09.2017
Сообщений: 10,884
|
||||||
31.10.2017, 13:12 | 13 | |||||
0
|
10 / 59 / 21
Регистрация: 12.03.2017
Сообщений: 514
|
|
01.11.2017, 12:01 [ТС] | 14 |
Мне нужно на С++. И только. Я язык С не изучал.
Добавлено через 17 часов 32 минуты Пожалуйста, сделайте программу на С++
0
|
3881 / 2479 / 418
Регистрация: 09.09.2017
Сообщений: 10,884
|
|
01.11.2017, 12:58 | 15 |
Тебе уже привели два варианта. Если ты не в состоянии их понять, надо не ныть и спамить, а почитать литературу. Основную работу - алгоритм - за тебя уже сделали, осталось дописать пару строк.
1
|
10 / 59 / 21
Регистрация: 12.03.2017
Сообщений: 514
|
|
01.11.2017, 17:56 [ТС] | 16 |
Мне нужна целая программа
0
|
3881 / 2479 / 418
Регистрация: 09.09.2017
Сообщений: 10,884
|
|
02.11.2017, 22:36 | 18 |
Чтобы обмануть учителя будто это он ее сделал, очевидно же
0
|
ISergey
|
03.11.2017, 03:09
#19
|
0
|
COKPOWEHEU
|
03.11.2017, 06:04
Мутанты
#20
|
Не по теме: Странная мотивация. Те, кто задают подобные вопросы по форумам, вряд ли пойдут работать по специальности - им это не интересно, либо просто не удержатся на работе.
0
|