Изменения

Перейти к: навигация, поиск

Метод четырёх русских для умножения матриц

424 байта добавлено, 06:52, 22 декабря 2011
Нет описания правки
== Код алгоритма ==
<code>
// Чтение матриц for i := 0 to n - 1 for j := 0 to n - 1 { read(cur); a[i][j] = cur; } // Чтение матриц for i := 0 to n - 1 for j := 0 to n - 1 { read(cur); b[i][j] = cur; }
// Предподсчёт скалярных произведений
// Пусть precalc[i][j] - "скалярное произведение для битовых представлений" чисел i и j
// "&" - битовый and; "<<" - битовый сдвиг влево.
int k = ceil(log log2(n)); //округление вверх
for i := 0 to (1 << k) - 1
for j := 0 to (1 << k) - 1 {
ans[i][j] = curans;
}
// Вывод ответа for i := 0 to n - 1 for j := 0 to n - 1 { write(ans[i][j]); } writeln(); }
</code>
Анонимный участник

Навигация