{0, 1} ноль или единица, при этом разница кол.во 1 и сторону матрицу не так большой ( <= 50 ), но саму сторону матрицу очень большой ~ 200 000
Edit: Забыл сказать, матрица - симметричен по основному диагоналу, то есть для любой 1 <= i , j <= n , a[ i ][ j ] == a[ j ][ i ]
a[ i ][ i ] == 0
?
Ничего не понял
Есть квадратная симметричная матрица N x N, состоит только из 0 или 1. Нужен вычислять детерминант. 1 <= N <= 200 000, Но кол.во 1 в матрице не больше N + 50. Нужен вычислять детерминант матрицу.
Наивный метод вроде O(N^3) — если не ошибаюсь. Но мне нужен максимум за O(N) or O(N*log(N)) .
А откуда такая задача?
acm.timus.ru ) 2147
Знаешь определение детерминанта через детерминанты подматриц при разбиении через строки/столбцы?
Да знаю, Det(A) = sum( (-1)^(j+1) * a[1][j] * M(1,j), j = 1..N) ?
Что такое M(1,j)?
Эм, даже элементы посмотреть уже квадрат
Обсуждают сегодня