Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Общие вопросы по программированию, компьютерный форум
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.05.2017, 14:42   #11
New man
Форумчанин
 
Регистрация: 24.01.2011
Сообщений: 774
По умолчанию

Вообще, вот такой вариант есть:

Код:
1) i:= j:= 1 — инициализация.
a: = A(1)
2) цикл пока a!=M и j<=N:
     если a<M: 
         j++; 
         если j>N -> выход.
         a:=a+A[j]
     или если a>M:
         i++;
         a:=a-A[i];
3) если a==M: 
      ответ:= (i,j)
    иначе:
      ответ:= Не найдено
Работает только если M!=0. Для случая нуля можно просто поискать года, когда ничего не производилось, за O(N).

Общая сложность моего алгоритма O(M/среднее(А) * N)
a.k.a. Angelicos Phosphoros
Мой сайт

Последний раз редактировалось New man; 31.05.2017 в 14:47.
New man вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача.Жадный алгоритм Тамерлан Абилов Помощь студентам 1 24.06.2015 20:10
Жадный алгоритм? Loki_veil Помощь студентам 0 27.06.2012 12:05
Жадный алгоритм merhaba1992 Помощь студентам 1 05.11.2011 00:24
Жадный алгоритм в программировании nikita92 Помощь студентам 0 26.11.2010 20:20
Жадный алгоритм и перебор mailjaffka Помощь студентам 10 17.05.2010 16:20