Энтропия разбиения фильмов по длительности
Условие
Онлайн-кинотеатр готовит данные для модели, предсказывающей оценку фильма. В первой таблице хранится длительность фильмов, а во второй — результаты оценок зрителей для части этих фильмов.
Фильмы нужно разделить по порогу длительности T: в левую группу попадают фильмы длительностью не больше T минут, в правую — остальные фильмы. Требуется вычислить взвешенную энтропию оценок после такого разбиения.
Для непустой группы с долями оценок p0 и p1 энтропия Шеннона определяется формулой H = -p0 · log2(p0) - p1 · log2(p1). Слагаемое 0 · log2(0) считается равным нулю. Энтропия пустой группы равна нулю. Если размеры левой и правой групп равны L и R, а число строк во второй таблице равно m, требуется найти значение (L / m) · Hлев + (R / m) · Hправ.
При равенстве длительности фильма порогу T фильм относится к левой группе.
Формат ввода
В первой строке даны три целых числа n, m и T — число строк в таблице фильмов, число строк в таблице оценок и порог длительности.
В следующих n строках дана таблица фильмов. Каждая строка содержит идентификатор фильма movie_id и его длительность duration в минутах.
В следующих m строках дана таблица оценок. Каждая строка содержит идентификатор фильма movie_id и оценку label, равную 0 или 1.
Каждый идентификатор из таблицы оценок встречается в таблице фильмов ровно один раз. Идентификаторы внутри каждой таблицы не повторяются.
Формат вывода
Выведите взвешенную энтропию после разбиения, округлённую до трёх знаков после точки. При ровно посередине между двумя значениями с тремя знаками выбирается большее значение.
Ограничения
1 ≤ n ≤ 2000.
1 ≤ m ≤ n.
1 ≤ T ≤ 300.
1 ≤ duration ≤ 300.
label равен 0 или 1.
Длина идентификатора movie_id составляет от 1 до 16 символов и состоит из латинских букв, цифр и символа подчёркивания.
Решить задачу с автопроверкой на Python →
Куда дальше
- Школьный этап ВсОШ по информатике — как устроен первый этап и план подготовки за четыре недели
- БВИ и льготы при поступлении — какой диплом что даёт и сколько лет он действует
- Перечневые олимпиады по информатике — олимпиады перечня Минобрнауки, их уровни и что нужно к диплому