Сортировки, жадность (25 сентября 2014)
- Даны N различных чисел от 1 до N, сколько существует треугольников с такими длинами сторон?
- За O(N3)
- За O(N2) − метод двух указателей
- Доказательство, что метод двух указателей работает за O(N)
- Задачи на сортировку, жадность
- Набрать самую сильную команду из k человек (у каждого есть сила, берем k-ю порядковую статистику)
- Рюзкзак
- mini дискретный рюкзак: дано W и ai, выбрать подмножество ai, сумма которых ровно W
- У каждой вещи есть стоимость и вес, вещи можно резать. Непрерывный рюкзак.
- У каждой вещи есть стоимость и вес, вещи нельзя резать. Дискретный рюкзак.
- Про суммы (выбрать k пар из n данных так, чтобы)
- ∑ (aibi) → max (решили за Θ(n))
- (∑ ai) / (∑ bi) → max (решили за Θ(nlogM)) [code]
- (∑ ai) × (∑ bi) → max (свели рюкзак, доказали, что NP-трудна)
- Про отрезки
- Максимальное число непересекающихся отрезков [code]
- Найти длину объединения отрезков [code]
- Найти точку, покрытую максимальным числом отрезков [code]
- Программируем
- Задачку про частное сумм
- Все три задачи про отрезки