Коледж алгоритмічного програмування

    Лекція Одинадцята (Сезон Другий)

    Одинадцята лекція другого сезону відбудеться 9 грудня о 18 годині у конференц-залі на третьому поверсі.

    Лекцію ведуть: Brus та Lebron.

    Тема: Застосування повного перебору в алгоритмічному програмуванні.

    На порядку денному:

    • Визначення та класифікація повного перебору.
    • Оптимізація повного перебору.
    • Неявні форми перебору.
    02.12.2010 | Shef | 7 коментарів

    7 коментарів to “Лекція Одинадцята (Сезон Другий)”

    1. LeBron каже:
      08.12.2010 о 20:11

      Стало модно писати домашнє завдання напередодні лекції. Що ж, уже визначено домашнє завдання з основних питань лекції,
      ось воно:
      http://acmp.ru/index.asp?main=task&id_task=498 (повний перебір)
      http://acmp.ru/index.asp?main=task&id_task=280 (повний перебір)
      http://acmp.ru/index.asp?main=task&id_task=346 (оптимізація перебору)
      http://acmp.ru/index.asp?main=task&id_task=371 (прекалк І роду)
      http://acm.timus.ru/problem.aspx?space=1&num=1402 (прекалк І роду)
      http://acm.tju.edu.cn/toj/showp3300.html (прекалк ІІ роду)
      В дужках вказалі теми, що то за теми – дізнаєтесь, якщо не полінуєтесь прийти на лекцію))) Деякі із задач робляться й іншими методами, але спробуйте зробити і з використанням перебору або прекалку (хто не знає, що то таке – нехай спробує зараз здати як-небудь, а потім можна ще раз прекалком). Або ні, здайвайте різними способами, це не зашкодить.

      Можливо, список задач ще доповниться, про це буде повідомлено завтра на лекції і в коментарях.

    2. PrimuS каже:
      12.12.2010 о 11:58

      В мене є таке питання. На лекції згадали про обчислення чисел Фібоначчі через піднесення матриці в степінь. Якщо треба знайти не по модулю, то ми отримаємо довге множення і я нарахував складність N^2*logN, в той час як при додаванні отримаємо N^2. Тобто без швидкого множення додавання ефективніше. Я правий, чи я десь чогось не розумію? (Я рахував, що нам потрібно довге довжини N/3).

    3. LeBron каже:
      16.12.2010 о 22:13

      PrimuS, я подивився в розкладі, дифрівняння в нас з 2 курсу (з 1 семестру), це відповідь на одне з твоїх питань в процесі лекції.

    4. PostScriptum каже:
      19.12.2010 о 15:46

      PrimuS, Схоже, що складність дійсно більша… Але там багато з того N^2 насправді далеко не N і можливо навіть не прямує до нього (не впевнений, що довжина N-го числа Фібоначчі буде O(N) – це верхня оцінка) Крім того, можна в кожному розряді зберігати не 1 десяткову цифру, а 9, або взагалі числа в бінарній системі зберігати. Тоді коефіцієнт буде значно менший і хз коли множення стане повільніше за додавання. А взагалі найкращий спосіб – то перевірка! От напиши – і виклади звіт на групу =). Всім буде користь

    5. LeBron каже:
      19.12.2010 о 17:36

      PrimuS, провірив те, що ти згадував на лекції, про вкладеність іфок (що ми не могли гарантувати, чи дійсно можна). Ти питався, чи можна більше 7 “вкладати”.

      Я спробував, 8 можна, 32 можна, 100 можна, 200 можна, 400 можна.

      Далі не провіряв.

    6. LeBron каже:
      19.12.2010 о 17:40

      Аналогічно провірив і з циклами. Провірив, працють 8, 30, 54, 100, 136, 211, 447 вкладених цикли.

      Правда, останні 2 варіанти чогось підозріло довго компілюються в студії. А в dev і різниці дуже не видно)))

    7. LeBron каже:
      12.01.2011 о 23:24

      Хороша оптимізація до задачі про суму квадратів, якщо перебирати останнє число – можна визначити його останню цифру “наперед” за останньою цифрою очікуваного результату (для квадратів не зовсім, для кубів – якраз так і виходить), і скоротити перебір ледь не в 10 раз.

    Leave a Reply

    Клацніть, щоб скасувати відповідь.

    CAPTCHA Image CAPTCHA Audio
    Refresh Image
    Лекція Дванадцята (Сезон Другий)
    Лекція Десята (Сезон Другий)
     
    • Банери

    • Категорії

      • Змагання (2)
      • Лекції (149)
      • Некатегоризовано (12)
      • Розбір задач (13)
      • свято (4)
    • Архіви

      • Жовтень 2016 (1)
      • Квітень 2016 (3)
      • Березень 2016 (5)
      • Лютий 2016 (3)
      • Грудень 2015 (3)
      • Листопад 2015 (1)
      • Травень 2015 (1)
      • Квітень 2015 (4)
      • Березень 2015 (4)
      • Лютий 2015 (3)
      • Грудень 2014 (2)
      • Листопад 2014 (4)
      • Жовтень 2014 (5)
      • Вересень 2014 (1)
      • Травень 2014 (2)
      • Квітень 2014 (3)
      • Березень 2014 (3)
      • Лютий 2014 (1)
      • Грудень 2013 (3)
      • Листопад 2013 (4)
      • Жовтень 2013 (4)
      • Травень 2013 (2)
      • Квітень 2013 (4)
      • Березень 2013 (4)
      • Лютий 2013 (4)
      • Листопад 2012 (7)
      • Жовтень 2012 (2)
      • Травень 2012 (1)
      • Квітень 2012 (4)
      • Березень 2012 (5)
      • Лютий 2012 (4)
      • Грудень 2011 (3)
      • Листопад 2011 (4)
      • Жовтень 2011 (4)
      • Вересень 2011 (3)
      • Травень 2011 (2)
      • Квітень 2011 (5)
      • Березень 2011 (4)
      • Грудень 2010 (4)
      • Листопад 2010 (5)
      • Жовтень 2010 (4)
      • Вересень 2010 (3)
      • Травень 2010 (4)
      • Квітень 2010 (4)
      • Березень 2010 (6)
      • Лютий 2010 (3)
      • Січень 2010 (1)
      • Грудень 2009 (7)
      • Листопад 2009 (2)
      • Жовтень 2009 (2)
    • ACM-Контестер

      • ACM-Contester Архів задач із автоматичною системою тестування “ACM Contester”.
    • Мета

      • Зареєструватись
      • Вхід
      • RSS публікацій
      • RSS коментарів
    

    © 2026 Коледж алгоритмічного програмування is proudly powered by WordPress | Constructor Theme
    Entries (RSS) and Comments (RSS).
    Наші проекти: Контестер, _Колледж.