Skip to content

Files

Latest commit

 

History

History

small-tasks

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 


ограничение по времени на тест: 1 секунда
ограничение по памяти на тест: 256 мегабайт
ввод: стандартный ввод
вывод: стандартный вывод

Условие: Разбейте множество из N объектов, каждый из которых принадлежит к одному из M классов, на K частей. Каждый объект должен попасть ровно в одну часть так, чтобы размеры частей, а также распределение классов по этим частям было сбалансировано. Формально, пусть c n t ( x , c ) — число объектов с классом c попавших в часть x , тогда должно выполняться x , y , c : | c n t ( x , c ) c n t ( y , c ) | 1 и x , y : | c c n t ( x , c ) c c n t ( y , c ) | 1 .

Входные данные: Первая строка: три целых числа N , M , K ( 1 N 10 5 , 1 M , K N ) — число объектов, классов и частей.

Выходные данные: Выведите K строк. Каждая строка x начинается с целого числа S — размера части x . Далее идут S целых чисел — номера объектов попавших в часть x . Объекты нумеруются с единицы.

Пример

Входные данные 10 4 3 1 2 3 4 1 2 3 1 2 1 Выходные данные 4 1 4 9 10 3 2 3 5 3 6 7 8



ограничение по времени на тест: 1 секунда
ограничение по памяти на тест: 256 мегабайт
ввод: стандартный ввод
вывод: стандартный вывод

Условие: В результате эксперимента по классификации на K классов была получена матрица неточностей (Confusion matrix) C M , где C M [ c , t ] — число объектов класса c , которые были классифицированы как t . Посчитайте по данной матрице неточностей средневзвешенную по классам макро и микро F-меру.

Входные данные: Первая строка содержит целое число K — число классов ( 1 K 20 ). Далее идёт K строк — описание матрицы неточностей. Каждая строка c содержит K целых чисел — c -тая строка матрицы неточностей. c , t : 0 C M [ c , t ] 100 и c , t : C M [ c , t ] 1 .

Выходные данные: Выведите два вещественных числа с плавающей точкой — взвешенно усреднённую по классам макро и микро F-меру. Абсолютная погрешность ответа не должна превышать 10 6 .

Пример

Входные данные 2 0 1 1 3 Выходные данные 0.6 0.6

Входные данные 3 3 1 1 3 1 1 1 3 1 Выходные данные 0.326860841 0.316666667


C. Непараметрическая регрессия


ограничение по времени на тест: 2 секунды
ограничение по памяти на тест: 256 мегабайт
ввод: стандартный ввод
вывод: стандартный вывод

Условие: Реализуйте алгоритм непараметрической регрессии, который бы поддерживал различные функции расстояний, ядер и окон. Описание ядер можно найти здесь: https://en.wikipedia.org/w/index.php?oldid=911077090

Входные данные: Первая строка содержит два целых числа N и M — число объектов и признаков ( 1 N 100 , 1 M 10 ).

Выходные данные: Выведите одно вещественное число с плавающей точкой — результат запроса.

Пример

Входные данные 3 2 0 2 1 1 1 0 2 0 1 0 0 euclidean uniform fixed 2 Выходные данные 0.0000000000

Входные данные 3 2 0 2 1 1 1 0 2 0 1 0 0 euclidean gaussian variable 2 Выходные данные 0.6090086848


D. Линейная регрессия


ограничение по времени на тест: 0.75 секунд
ограничение по памяти на тест: 256 мегабайт
ввод: стандартный ввод
вывод: стандартный вывод

Условие: Найдите уравнения прямой аппроксимирующей положение объектов из заданного набора данных.

Входные данные: Первая строка содержит два целых числа N ( 1 N 10 4 ) — число объектов в обучающем множестве, и M ($1 \leq M \leq \min (N, 1000)$) — число признаков у объектов исключая зависимую переменную.

Выходные данные: Выведите M + 1 вещественных чисел с плавающей точкой A j — коэффициенты прямой из уравнения Y = A 0 X 0 + A 1 X 1 + + A M 1 X M 1 + A M

Пример


E. Метод опорных векторов


ограничение по времени на тест: 1 секунда
ограничение по памяти на тест: 256 мегабайт
ввод: стандартный ввод
вывод: стандартный вывод

Условие: Найдите коэффициенты λ i опорных векторов и сдвиг b , для классификации по формуле c l a s s ( x ) = s i g n ( i y i λ i k ( x , x i ) + b ) , где x — это векторное описание запрашиваемого объекта, а k — функция ядра.

Входные данные: В первой строке находится целое число N ( 1 N 100 ) — число объектов в обучающем множестве.

Выходные данные: Выведите N + 1 число с плавающей точкой: первые N чисел — коэффициенты λ i ( 0 λ i C , λ i Y i = 0 ) соответствующие объектам из тренировочного множества, последнее число b ( | b | 10 12 ) — коэффициент сдвига.

Пример


F. Наивный байесовский классификатор


ограничение по времени на тест: 1 секунда
ограничение по памяти на тест: 256 мегабайт
ввод: стандартный ввод
вывод: стандартный вывод

Условие: Реализуйте оптимальный наивный байесовский классификатор.Априорные вероятности классов оцениваются обыкновенным частотным методом.Вероятности встречи отдельных слов в каждом классе оцениваются с использованием аддитивного сглаживания (сглаживание Лапласа) https://en.wikipedia.org/wiki/Additive_smoothing Словари для каждого класса вычисляются независимо.

Входные данные: В первой строке содержится целое положительное число K ( 1 K 10 ) — число классов.

Выходные данные: Выведите M строк — результаты мягкой классификации оптимального наивного байесовского классификатора соответствующих сообщений из проверочной выборки.

Пример

Входные данные 3 1 1 1 1 3 1 4 a b c d 2 3 a b c 3 2 a b 4 1 a 2 a b 3 a b c 1 f Выходные данные 0.2553191489 0.3191489362 0.4255319149 0.1872561769 0.2925877763 0.5201560468 0.1898275294 0.3707568933 0.4394155773 0.2553191489 0.3191489362 0.4255319149


G. Дерево принятия решений


ограничение по времени на тест: 1.5 секунд
ограничение по памяти на тест: 256 мегабайт
ввод: стандартный ввод
вывод: стандартный вывод

Условие: Постройте дерево принятия решений.

Входные данные: Первая строка содержит три целых положительных числа M ( 1 M 100 ) — число признаков у объектов (исключая класс), K ( 1 K 20 ) — число классов и H ( 1 H 10 ) — максимальная глубина (в рёбрах) дерева принятия решений.

Выходные данные: Выведите построенное дерево принятия решений.