tgoop.com/sbornik_olprog/192
Last Update:
Матрицы и их умножение
Предисловие:
Вам не нужно знать все о матрицах, чтобы пользоваться ими на олимпиадах) Курс линейной алгебры тут не нужен
Достаточно этого:
* Матрица - это двумерный (одно из измерений может быть равно единице) набор чисел
* Как работает умножение матриц: суть, алгориитм и время его работы
И дальше нужно научиться видеть (через решение задач естественно), где можно задачу свести к умножению матриц или возведению матрицы в степень. В последнем случае можно получить ускорение за счет бинарного возведения в степень, с матрицами этот трюк тоже работает.
Это может пригодиться, например, в пересчете ДП. А самым базовым примером является задача нахождения n-го числа Фибоначчи быстрее чем O(n)😱 Как это возможно, узнаете ниже)
Пререквизиты:
🔙 Сумма, вычитание, произведение, деление по модулю
🔙 Бинарное возведение в степень
🔙 Базовое ДП
Теория:
📚 Алгоритмика 1 - определение матриц и их умножения + код умножения
📚 Алгоритмика 2 - как использовать умножение матриц в задачах, n-ое число Фибоначчи и другие задачи
📼 Видео от красного на кф Errichto (На английском) - очень подробное объяснение как решать несколько задач на тему
KIT контест по теме с периодически пополняемыми задачами:
Вопросы на понимание темы:
Автор: https://www.tgoop.com/KogutIvanTutoring
Теги: #алгоритмы #матрицы