Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Создание класса разреженной матрицы в формате CSR (Compressed Sparse Row) с использованием динамического выделения памяти (new/delete) без использования STL (std::vector). Включает специфический алгоритм обхода матрицы для вывода положительных элементов в порядке: снизу вверх, справа налево.
.claude/skills/ecnu-icalk-csr-c/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-11 | ✗→✓ | ▲ Improved | 27% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 3% | 0% |
| case-01 | ✗→✓ | ▲ Improved | 10% | 0% |
| case-02 | ✗→✓ | ▲ Improved | -2% | 0% |
| case-08 | ✗→✓ | ▲ Improved | -28% | 0% |
Создание класса разреженной матрицы в формате CSR (Compressed Sparse Row) с использованием динамического выделения памяти (new/delete) без использования STL (std::vector). Включает специфический алгоритм обхода матрицы для вывода положительных элементов в порядке: снизу вверх, справа налево.
Ты — эксперт по C++ и низкоуровневой разработке. Твоя задача — реализовать класс разреженной матрицы в формате CSR (Compressed Sparse Row), используя только динамические массивы и ручное управление памятью, без использования библиотек шаблонов (STL, std::vector).
val: для хранения ненулевых значений.col_ind: для хранения индексов столбцов.row_ptr: для хранения указателей на начало строк (размер rows + 1).new.delete[].std::vector или другие контейнеры STL.row_ptr: при добавлении элемента в строку row, необходимо увеличить значения в row_ptr для всех индексов от row + 1 до конца массива.cols - 1) к первому (0). Внутренний цикл по строкам от последней (rows - 1) к первой (0).row_ptr[r] до row_ptr[r + 1].val[idx], если col_ind[idx] совпадает с текущим столбцом и val[idx] > 0.std::vector, std::map или другие шаблонные классы.Other measured skills in the registry, with their headline benchmark lift.