Задание 26 // ЕГЭ по информатике 2022

  Рет қаралды 46,029

Алексей Кабанов

Алексей Кабанов

Күн бұрын

Разбираемся программным решением задач с упорядоченной последовательностью.
ОТКРЫТЫЙ КУРС kompege.ru/course
За мат, КАПС, политоту, флуд - перманентный бан.
Связаться с автором: cabanovalexey
Группа ВК ege_info_open
Тренажёр КЕГЭ: kompege.ru
--------------------------------------------------------------------------------------------
Ссылки на каналы других годных преподавателей:
Евгений Джобс
/ @evgenijjobs
Информатик БУ
/ @infbu
Alex Danov
/ alexdanov
Андрей Рогов
/ devinf74
Леонид Шастин
/ @leoshastin
Ботай каждый день, глупый дурачок
/ @toadharvard
Таймкоды
00:00 Приветствие
02:50 Отбор чисел 1
30:15 Отбор чисел 2
56:00 Отбор чисел 3
01:07:05 Как научиться кодить 26?
01:10:35 Быстрый поиск чисел
01:21:15 Быстрое сравнение чисел
01:34:30 Бинарный поиск
02:00:10 ТЕЛЕПОРТАЦИЯ
02:01:00 Хронология 1
02:13:27 Хронология 2
02:27:25 Хронология 3
02:41:15 Хронология 4
03:01:45 Самый частый элемент
03:07:50 Все возможные веса (HARD)
03:21:30 Окончание и напутствия

Пікірлер: 101
@nishihi
@nishihi 2 жыл бұрын
Наконец-то дождались легендарной коллаборации белого Алексея из прошлого и черного из будущего
@user-lh2zg5vs9j
@user-lh2zg5vs9j 2 жыл бұрын
Спасибо вам Алексей!!! За ваш труд!!!
@callsignsanta
@callsignsanta 2 жыл бұрын
На всех задачах нормально было, всё понимал. На гирьках кокнуло....
@user87347
@user87347 11 ай бұрын
Спасибо за ваши труды Алексей!!! Вы просто супер!
@ondruwa1908
@ondruwa1908 11 ай бұрын
Ты тоже ничего малышка❤
@gglinof
@gglinof 11 ай бұрын
неделя до егэ😃
@NoName-dw1uv
@NoName-dw1uv 2 жыл бұрын
54:40 очень ценный совет
@user-fz2nw1pm5y
@user-fz2nw1pm5y 2 жыл бұрын
Большое спасибо за Ваш труд!
@faizzy907
@faizzy907 Жыл бұрын
Здраствуйте Алексей, в задаче с бинарным поиском(26-47) можно сделать всё намного проще, нам нужно чтобы К было кратно 100, тоесть ср. ариф. больше ровно 100, 200 и т.д чисел, значит ср. ариф. больше, чем a[99], но меньше или равен a[100], с этой идеей задача решается также моментально
@faizzy907
@faizzy907 Жыл бұрын
Вот программа на питоне: f=open('26-47.txt') n=int(f.readline()) a=[int(x) for x in f] a.sort() ans=[] km=0 c=0 for i in range(n): for j in range(i+1,n): sr=(a[i]+a[j])//2 for k in range(100,901,100): if a[k-1]
@MrMagno-ni5lf
@MrMagno-ni5lf 20 күн бұрын
Set в Python это не дерево, а хеш-таблица, поэтому оператор in работает O(1) а не за O(lb(n))
@luckytima2315
@luckytima2315 2 жыл бұрын
Спасибо большое, очень классное видео !
@Makson777
@Makson777 11 ай бұрын
Алексей снял видео на мой ДР) так приятно))
@sanjarbek0510
@sanjarbek0510 3 ай бұрын
Советую порешать задачу про шифр Цезаря. Там используется операция с %, чтобы получать порядковый номер буквы по кругу. Думаю будет понятнее, если кто-то не понял. А я не вспомнил про этот способ и написал такое =) Задача отбор чисел 3: f = open('26-56.txt') V, K, N = map(int,f.readline().split()) a = [int(i) for i in f] a.sort(reverse=1) disk = [V]*K k = 0 trash = [] for i in range(N): n = a[i] for j in range(k,K): if disk[j]-n>=0: disk[j] -= n k += 1 break else: k = 0 for j in range(k,K): if disk[j]-n>=0: disk[j] -= n k += 1 break else: trash.append(n) print(sum(trash),len(trash))
@KotlasBoy
@KotlasBoy Жыл бұрын
Первая хронология меня кокнула...
@user-ze9mk6pf7b
@user-ze9mk6pf7b Жыл бұрын
Спасибо за видео!! Скажите, пожалуйста, где можно найти файлы к заданиям из ролика?
@yupiter9403
@yupiter9403 Жыл бұрын
сайт полякова, раздел подготовка к егэ, там целый архив с заданиями и солверами к ним
@fantactic_leon1842
@fantactic_leon1842 Жыл бұрын
алексей после телеопртации темп слишком повысился, я даже не успеваю понять, это прискорбно
@MrMix-ki9dr
@MrMix-ki9dr Ай бұрын
+, но терпимо, обычно смотрю его на 3х, после телепортации поменял на 2х
@peregomon
@peregomon 11 ай бұрын
Future in the Past
@cblp_4ik
@cblp_4ik 2 жыл бұрын
Здравствуйте, Алексей! По вашему мнению, нужно покупать сборники? Если да, то какие лучше?
@kompege
@kompege 2 жыл бұрын
Крылова однозначно нет, только если скачать. Ушакова или Кулабухова да.
@cblp_4ik
@cblp_4ik 2 жыл бұрын
@@kompege спасибо большое!
@GameChanger___
@GameChanger___ 17 сағат бұрын
Смотрю за 5 дней до ЕГЭ
@lola_bunny427
@lola_bunny427 4 ай бұрын
надо было в шарагу идти......
@thehunter6988
@thehunter6988 Ай бұрын
2:10:32 обязательно надо проверять i==2000000 ?
@monieKidd
@monieKidd 11 ай бұрын
PEP 8 умер ⚰, но решение правильно, а главное понятное!
@theh_dra
@theh_dra 2 ай бұрын
что за фокусы с телепортацией........ как
@blackbean674
@blackbean674 Жыл бұрын
Кто тож только сейчас готовится
@melodiz2.057
@melodiz2.057 11 ай бұрын
либо олимпиадники, либо идиоты
@nomad7987
@nomad7987 Жыл бұрын
24:25 а - поп i'тое ахпххпахап)
@user-cy5lk8fd8o
@user-cy5lk8fd8o 17 күн бұрын
Здравствуйте! Подскажите пожалуйста, что стоит посмотреть для того, чтобы научиться решать 27 а? Я отдельного ролика на эту тему не нашел(
@kompege
@kompege 17 күн бұрын
Можно посмотреть вот это видео kzbin.info/www/bejne/ravYmaR5a7RkkK8
@user-cy5lk8fd8o
@user-cy5lk8fd8o 17 күн бұрын
@@kompege Спасибо большое!
@user-bu2cp5bi2i
@user-bu2cp5bi2i Жыл бұрын
1:37:40 эта задача решилась правильно чисто случайно? Ведь вы вместо вместо деления на 2 при нахождении sr используете целочисленное деление на 2, что может повлиять на ответ? Или я чего-то не понимаю?
@kompege
@kompege Жыл бұрын
Сумма чётная же
@user-bu2cp5bi2i
@user-bu2cp5bi2i Жыл бұрын
​@@kompege почему она всегда будет чётная? Там ведь совершенно произвольные числа, почему бы сумме не быть иногда нечётным числом?
@kompege
@kompege Жыл бұрын
@@user-bu2cp5bi2i А, ну да. Но ответ вроде такой же будет.
@user-bu2cp5bi2i
@user-bu2cp5bi2i Жыл бұрын
36:10 почему sorted? Нам по условию надо сначала отобрать самые тяжёлые грузы от 180 до 220, а при такой сортировке мы погрузим сначала лёгкие. Это решение сработает только если все грузы от 180 до 220 поместятся, не так ли? А так нужно ведь сортировать по убыванию
@Mars_-0_
@Mars_-0_ Жыл бұрын
Чисто технически ты прав, но конкретно в этой задаче это ни на что не повлияло.
@user-bu2cp5bi2i
@user-bu2cp5bi2i 11 ай бұрын
@@Mars_-0_ понятно, спасибо
@shon4459
@shon4459 2 жыл бұрын
2:12:08 написано же "Запишите в ответе два числа: количество непрерывных ремонтируемых участков автомагистрали и общую длину ремонтируемых участков"
@kompege
@kompege 2 жыл бұрын
🤦‍♂️🤦‍♂️🤦‍♂️🤦‍♂️🤦‍♂️ Вот это косяк так косяк
@bon_bon5322
@bon_bon5322 3 ай бұрын
Мозги пришлось конечно поломать так поломать, только после домашки заметил, что что-то не так в условии🙄.
@crybaby3202
@crybaby3202 4 ай бұрын
2:12:22 мы проверяем k0==0 and (k>0 or i==2000000) хотя если мы ищем конец то k0>0 а вот k=0 или я не прав?
@aufchk
@aufchk Жыл бұрын
1:57:41 ахах)
@redrond3785
@redrond3785 Жыл бұрын
По поводу первой задачки, не особо понял. Смотрите, в список b помещается число, которое тут же уходит из a. А может ли быть такое, что при переборе чисел в предпоследнем пунктике, а именно: if sum(b)-b[-1]+a[i]
@pslups9086
@pslups9086 Жыл бұрын
да, такое может быть, но ведь в том цикле перебираются все числа отсортированного массива, а значит самая последняя замена будет на самое большое число. Если хочешь по другому, то можно сделать так: 1. отсортировать массив в обратном порядке 2. проверять сумму чисел, чтобы она была меньше s 3. когда найдется такое число, поменять их местами и прервать цикл
@redrond3785
@redrond3785 Жыл бұрын
@@pslups9086 Ты прав, как-то упустил сортировку
@redrond3785
@redrond3785 Жыл бұрын
@@pslups9086 спасибо!!!
@begidurak
@begidurak 11 ай бұрын
Скоро ведь будет новый стрим по 26?
@booba2238
@booba2238 11 ай бұрын
нет
@littlesisterslikeorder6754
@littlesisterslikeorder6754 11 ай бұрын
Будет, его на интенсиве анонсируют, но сделают доступным для всех. Вроде бы 17 июня
@monieKidd
@monieKidd Ай бұрын
Вопрос по хронологии 4. Почему подсчет количества максимума является корректным? Мы ведь фактически не знаем, какой максимум списка, а получаем его только после прохода всего массива целиком. Тогда я правильно понимаю, что инкрементирование счетчика count делается в том случае, когда знач. миллисекунды равно ЛОКАЛЬНОМУ максимуму при обходе цикла? Может стоит обходить одним разом циклом и узнать максимум, а только потом сравнивать и считать? Тогда ответ, странное дело, другой (5662)
@kompege
@kompege Ай бұрын
При обновлении максимума счëтчик сбрасывается до нуля, такчто всë окей
@monieKidd
@monieKidd Ай бұрын
@@kompege точно, спасибо!!!
@monsterclash6790
@monsterclash6790 Жыл бұрын
18:08
@mav8435
@mav8435 Жыл бұрын
f = open('26-39.txt') n, m = map(int, f.readline().split()) a = [int(x) for x in f] А почему генератор, который формирует список а, не читает первую строку с двумя числами? Потому что как только эти два числа были считаны в n и m, они пропали из f?
@absValue
@absValue Жыл бұрын
Да, после readline() поток переходит к следующей строке
@user-tf1rz7rk2x
@user-tf1rz7rk2x 3 ай бұрын
видимо, так и есть
@bbar0n-bloody-548
@bbar0n-bloody-548 2 жыл бұрын
Добрый день, Алексей.У меня такой вопрос: ЕГЭ по информатике можно сдавать используя только один язык программирования, или можно выбрать два? И еще один вопрос: если недавно учителя спрашивали нас по поводу этого, и я выбрал Паскаль, могу ли я сейчас поменять свой выбор и выбрать Python? Надеюсь на ваш ответ.
@kompege
@kompege 2 жыл бұрын
Обычно на станциях установлено несколько языков. Насчёт смены выбора спрашивайте вашего учителя.
@bbar0n-bloody-548
@bbar0n-bloody-548 2 жыл бұрын
@@kompege Хорошо,спасибо)
@Serjious_m
@Serjious_m Жыл бұрын
@@bbar0n-bloody-548 интересно, если у тебя такие вопросы появляются, на какой балл ты написал то в итоге?
@user-vb8bd2td7p
@user-vb8bd2td7p Жыл бұрын
произошёл кок
@user-fz2nw1pm5y
@user-fz2nw1pm5y 2 жыл бұрын
Алексей, к сожалению, Ваша программа неправильно работает для примера Ушакова, потому что начинаем с освещенного участка дороги. Поэтому нужна доработка. В первом цикле: if lamp-20
@aufchk
@aufchk Жыл бұрын
Лично мне такое решение не оч зашло, тк странно выделять массив под каждый метр дороги. Я бы предложил такое решение: f = open('26-06.txt') L,N,M = map(int,f.readline().split()) a = [ ] for i in range(N): X,H = map(int,f.readline().split()) a.append([X,H]) m = [int(x) for x in f] a.sort(key = lambda x: x[0]) l = [ ] for i in range(len(a)): l.append([(a[i][0]-(a[i][1]//2)),(a[i][0]+(a[i][1]//2))]) d = [ ] if l[0][0]>0: d.append(l[0][0]) for i in range(len(a)-1): if l[i][1]
@sweetdreams283
@sweetdreams283 Жыл бұрын
@@aufchk у тебя код мусорнее
@user-rp9ey8xl4s
@user-rp9ey8xl4s Жыл бұрын
Альтернативное решение для задачи №3 на отбор чисел(вдруг кому-то пригодится): без else для цикла и процентов для номера диска f = open('26data/26-56.txt') v,k,n = map(int,f.readline().split()) arch = [int(i) for i in f] arch.sort(reverse=1) disks = [0]*k p = [] num = 0 #текущий номер диска for i in range(n): for j in range(k):#запускаем цикл на 8 раз if disks[num]+arch[i]
@j1mmychanga
@j1mmychanga 2 ай бұрын
в первой хронологии написано в дано, что все числа натуральные, а в примере в ответе: участок от 0 до 10...Я то думаю, че у меня с ответами на сходится в дз
@user-ym3kq8iu2y
@user-ym3kq8iu2y 11 ай бұрын
хронология 3 почему ответ неправильный? f = open('26-06.txt') L, N, M = map(int, f.readline().split()) road = [0]*L for i in range(N): x, h = map(int, f.readline().split()) for j in range(x-h//2, x+h//2): road[j] = 1 lamp = [int(x) for x in f] dark = [] start, end = -1, 0 for i in range(L): if road[i] == 0 and start == -1: start = i if road[i] == 1 and (road[i-1] == 0 or i==L): end = i - 1 dark.append(end-start + 1) start, end = -1, 0 dark.sort() lamp.sort() money = [] over = [] for i in range(len(dark)): for j in range(len(lamp)): if lamp[j]>=dark[i]: money.append(lamp[j]) over.append(lamp[j]-dark[i]) lamp[j] = 0 break print(sum(money), sum(over))
@yasno1435
@yasno1435 2 жыл бұрын
почему не эксель?
@kompege
@kompege 2 жыл бұрын
Потому что таблицы были в прошлом стриме )
@yasno1435
@yasno1435 2 жыл бұрын
@@kompege понял, большое спасибо
@user-oc2iy1rf5y
@user-oc2iy1rf5y Жыл бұрын
меня кокнуло :/
@olegatabaev4501
@olegatabaev4501 Жыл бұрын
[1:57:16] Вот решение с помощью каноничного бинарного поиска через рекурсию: def F(a, x, c): while len(a) > 1: if x > a[len(a) // 2 - 1]: return F(a[len(a) // 2:], x, c + len(a) // 2) else: return F(a[:len(a) // 2], x, c) if x > a[0]: return c + 1 else: return c f = open('26-47.txt') n = int(f.readline()) a = sorted(int(x) for x in f) ans = [] for i in range(n): for j in range(i + 1, n): average = (a[i] + a[j]) / 2 count = F(a, average, 0) if count % 100 == 0: ans.append(count) print(len(ans), max(ans))
@dag3319
@dag3319 Жыл бұрын
антихайп полнейший
@leaxy
@leaxy Жыл бұрын
вообще ничего не понял
@EgorIgnakhin
@EgorIgnakhin Жыл бұрын
Автор, почему постоянно всякие буквы вместо нормальных слов пишете? Ведь, например, подумайте сами, название 'usersCount' создаст больше нейронных связей, чем 'a'. Я рекомендую приучать сразу писать чисто.
@minegooodd3473
@minegooodd3473 Жыл бұрын
быстрее написать а чем прописывать каждый раз UserCount, на егэ тем более
@EgorIgnakhin
@EgorIgnakhin Жыл бұрын
@@minegooodd3473 Не знаю как у вас, но у меня часто остаётся больше часа после решения всех экзаменационных задач.
@minegooodd3473
@minegooodd3473 Жыл бұрын
@@EgorIgnakhin ок
@KotlasBoy
@KotlasBoy Жыл бұрын
Потому что стрим и так идёт 3:20, а с авторскими переменными займёт все 4. Ничего не мешает вам в конспекте написать те переменные, которые вы хотите.
@pubger9617
@pubger9617 Жыл бұрын
я ± за неделю готовиться начал
@welfiersn416
@welfiersn416 Жыл бұрын
соболезную
@user-ev8jz6bj2q
@user-ev8jz6bj2q Жыл бұрын
@@welfiersn416 Ну, если человеку 90+ не надо, то почему бы и нет?
@pubger9617
@pubger9617 Жыл бұрын
@@user-ev8jz6bj2q ну как бы 80
@pubger9617
@pubger9617 Жыл бұрын
@@welfiersn416 не стоит
@user-ev8jz6bj2q
@user-ev8jz6bj2q Жыл бұрын
@@pubger9617 Так я тоже готовиться начала в начале июня, надеюсь на 80-85
@legac1x955
@legac1x955 Жыл бұрын
Здравствуйте Алексей, хотел бы спросить этот действительно рабочий код или просто повезло, что сошло с ответами? (код для второй задачи стрима) Код: f = open('26-39.txt') n,m = map(int,f.readline().split()) a = [int(x) for x in f] a.sort() b = [] for i in range(n): if sum(b)+a[i]
@kompege
@kompege Жыл бұрын
Код нормальный, всё хорошо )
@sanjarbek0510
@sanjarbek0510 3 ай бұрын
Задача Отбор чисел 2: f = open('26-39.txt') N, M = map(int, f.readline().split()) a = [int(i) for i in f] s1 = [i for i in a if i>=180 and i
@sanjarbek0510
@sanjarbek0510 3 ай бұрын
Хронология 3: f = open('26-06.txt') L, N, M = map(int, f.readline().split()) road = [0]*L for _ in range(N): X, H = map(int, f.readline().split()) st, end = X-(H//2), X+(H//2) for i in range(st,end): road[i] += 1 market = [int(f.readline()) for _ in range(M)] market.sort() lst, l = [], '' for i in range(L): if road[i]==0: l += '0' if road[i-1]==0 and (road[i]!=0 or (i==L-1 and road[i]==0)): lst.append(l) elif road[i]!=0: l = '' lst = list(map(len, lst)) lst.sort() count = 0 for i in lst: for j in market: if i
@bybiska3304
@bybiska3304 Жыл бұрын
Спасибо вам Алексей!!! За ваш труд!!!
Задание 27 (Статичные решения) // ЕГЭ по информатике 2022
2:43:04
Прогноз на ЕГЭ по информатике | Новые задачи в банке ФИПИ
40:52
Ну Лилит))) прода в онк: завидные котики
00:51
Как быстро замутить ЭлектроСамокат
00:59
ЖЕЛЕЗНЫЙ КОРОЛЬ
Рет қаралды 11 МЛН
Did you find it?! 🤔✨✍️ #funnyart
00:11
Artistomg
Рет қаралды 124 МЛН
Задание 18 // КЕГЭ по информатике 2024
2:44:54
Алексей Кабанов
Рет қаралды 74 М.
Задание 7 // КЕГЭ по информатике 2024
2:27:33
Алексей Кабанов
Рет қаралды 74 М.
Решаем тестовое задание на позицию junior python backend разработчик
21:18
𝐧𝐞𝐫𝐝𝐢𝐳𝐚𝐲-𝐜𝐨𝐝𝐞
Рет қаралды 10 М.
КУМИР НЕ НУЖЕН, когда есть PYTHON | Алгоритм 6 задания на ЕГЭ 2024
14:40
ИНФОРМАТИКА ЕГЭ 2024 99 БАЛЛОВ
Рет қаралды 33 М.
Задание 1 // КЕГЭ по информатике 2024
1:22:27
Алексей Кабанов
Рет қаралды 12 М.
Ну Лилит))) прода в онк: завидные котики
00:51