![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 04.01.2013
Сообщений: 5
|
![]()
http://scool4.zxq.net/Q/
Вот, попробовал, не работает. Сначала выводит 1 без ключа, потом выводит не все что должна. Почему программа себя так ведет? Можно ли такое решение, даже рабочее назвать "эффективным"? Может есть идеи? И заодно, если не сложно, посоветуйте книжку по алгоритмам в общем, составление, оптимизация. |
![]() |
![]() |
![]() |
#2 |
Пользователь
Регистрация: 30.01.2013
Сообщений: 12
|
![]()
0x44616E69696C, я в свое время решал много вариантов ЕГЭ, и потом без проблем его сдал, он несложный. Еще лазил по всяким форумам и сайтам, видел всякие красивые методы решения различных задач. Также есть сайты со списком задач - можно их туда же отправлять на проверку - пример: acmp.ru
|
![]() |
![]() |
![]() |
#3 | ||
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
![]()
1)
Цитата:
2) else-ветка вывода мне непонятна совершенно. Почему бы тупо не вывести первые три фирмы, а дальше выводить фирмы, пока частота их упоминания равна частоте упоминания третьей? Цитата:
|
||
![]() |
![]() |
![]() |
#4 | |
Санитар
Старожил
Регистрация: 04.10.2008
Сообщений: 2,577
|
![]() Цитата:
Тут нет решения, эффективным называть нечего. В ветке else какие-то отстои. Код:
Т.е. если у меня есть всего 4 фирмы и каждая из них встречается 1000 раз - будет 3 * 1000 * 4 итераций внутреннего цикла в худшем случае (тут не должно быть более 3*4 итераций) Поиск наибольшего элемента массива - O(n) Если вы выполните такой поиск 3 раза -алгоритм будет не самым оптимальным, но значительно лучше вашего. Можно все значения засунуть в еще один мап и дальше сделать как абстракшн советует, но это будет неоптимально по памяти (там в требованиях про это написано). |
|
![]() |
![]() |
![]() |
#5 | |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
![]() Цитата:
Код:
|
|
![]() |
![]() |
![]() |
#7 | |||
Санитар
Старожил
Регистрация: 04.10.2008
Сообщений: 2,577
|
![]() Цитата:
Цитата:
Я думаю, решить ее можно за линейное время ) Цитата:
-------добавил: Держи вот кусок кода: Код:
Тебе остается в еще одном цикле вывести значения, которые встречаются заданное число раз (число то уже известно) - это тоже можно сделать за линейное время, почти также. Сложность алгоритма останется линейной. Последний раз редактировалось rrrFer; 13.02.2013 в 20:10. |
|||
![]() |
![]() |
![]() |
#8 | ||
Регистрация: 04.01.2013
Сообщений: 5
|
![]() Цитата:
Цитата:
|
||
![]() |
![]() |
![]() |
#9 | |
Санитар
Старожил
Регистрация: 04.10.2008
Сообщений: 2,577
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
С4 Егэ на Си | interfeys | Помощь студентам | 23 | 29.11.2012 20:25 |
С4 Егэ на Си | interfeys | Помощь студентам | 2 | 19.11.2012 10:18 |
ЕГЭ С1,С2,С3 ПАСКАЛЬ | alex14111 | Паскаль, Turbo Pascal, PascalABC.NET | 7 | 03.03.2011 20:51 |
ЕГЭ | Xcopy | Помощь студентам | 6 | 05.02.2010 14:44 |