Informatics задачи на дерево отрезков

ЛШКН2019: День 5. СНМ, Алгоритм Тарьяна, Дерево отрезков, Разреженые таблицы

Алексей работает системным администратором в локальной домовой сети. Его сеть соединяет множество квартир и располагается в нескольких зданиях.

Сеть постоянно расширяется и Алексею поручено проложить новый участок сети. У него есть схема, на которой указаны все возможные соединения между парами квартир и для каждого соединения он знает длину провода, необходимого для его прокладки. Его цель состоит в том, чтобы все квартиры были подключены к сети (возможно через другие квартиры).

Компания, в которой работает Алексей покупает кабель только в одном специализированном магазине. В магазине продается кабель пятой и шестой категорий по цене P5 и P6 рублей за метр. При этом в наличии имеется только Q5 метров кабеля пятой категории и Q6 метров кабеля шестой категории.

Алексею необходимо составить план постройки сети с наименьшими затратами. План представляет собой список соединений между квартирами, при этом каждому соединению должно быть приписано, кабель какой категории будет проложен между этими квартирами (пятой или шестой). Стоимость прокладки этой сети равна сумме стоимости прокладки всех соединений. Общая длина кабеля каждой категории не должна превышать количество кабеля, имеющегося в магазине.

Входные данные

В первой строке входного файла содержится число N — количество квартир, которые необходимо соединить и M — количество возможных соединений (1 N 1000, 1 M 10 000) .

Следующие M строк содержат описание возможных соединений. Каждое описание состоит из трех чисел A, B и L — где A и B задают номера квартир, а L — длина соединения между ними (1 L ≤ 100). Квартиры занумерованы от 1 до N .

Читайте также:  Дерево текстура в корел

Последняя строка входного файла содержит числа P 5, Q 5, P 6, Q 6 – цену и количество кабеля пятой и шестой категории соответственно (1 P , Q 10 000) .

Выходные данные

Если все квартиры можно соединить в сеть, то следует вывести N строк, описывающих план сети. Первая строка должна содержать стоимость прокладки сети. Следующие N-1 строк должны содержать описание соединений, представленных двумя числами каждое: Ai и Ci, где Ai — номер соединения в списке возможных соединений (от 1 до M), а Ci задает категорию кабеля и может принимать значения 5 или 6. Если планов несколько — выведите любой из них.

Если все квартиры соединить невозможно выведите слово Impossible.

Источник

Informatics задачи на дерево отрезков

toulst → Which website have topic wise problem list?

mustard_with_fries69420 → Help Needed

K evin114514 → I’m Kevin114514, AMA!

pakhomovee → Codeforces Round #893 (Div. 2)

abcsumits → Help me to find number of solution of this equation efficiently

awoo → Разбор Educational Codeforces Round 149

T heQueenOfHatred → 2023 KSAAC Summer · solved.ac Arena #4 Announcement

Некропост

maverick_GOD → How to use gcc instead of clang on macOS, specially M1? (Help)

mohit_jx64 → [Invitation] Coding Events — Esya’23 IIIT-Delhi

PinkieRabbit → AI language models and cheating in online contests

Некропост

R.A.N.K.A. → Help in Permutation P[i]=P[P[i]]

Afnan_Saif → Why is CodeChef so Weird?

Medeali → Solving Div 1 A in two hours.Is it good for gray coder?

lumibons → CEOI 2023

SriniV → Answering Queries in sub-linear time

awoo → Разбор Educational Codeforces Round 150

Некропост

MikeMirzayanov → Изменение правил об использовании стороннего кода в соревнованиях Codeforces

ashwanth106121023 → Good Observations:

steveonalex → [Tutorial] Divide and Conquer Offline Query — A Niche Way to solve Static Range Query

Читайте также:  Ножовка по дереву jet

induk_v_tsiane → Codeforces Round 892 (Div. 2).

ashwanth106121023 → Need help

Ibrahim-Elsayed → How to solve this problem?

ssk4988 → How to become a Master

Qingyu → The 1st Universal Cup. Stage 17: Guangzhou (CCPC Final 2022)

Некропост

minimario → Problems that are Dijkstra with a Twist

Источник

Informatics задачи на дерево отрезков

toulst → Which website have topic wise problem list?

mustard_with_fries69420 → Help Needed

K evin114514 → I’m Kevin114514, AMA!

pakhomovee → Codeforces Round #893 (Div. 2)

abcsumits → Help me to find number of solution of this equation efficiently

awoo → Разбор Educational Codeforces Round 149

T heQueenOfHatred → 2023 KSAAC Summer · solved.ac Arena #4 Announcement

Некропост

maverick_GOD → How to use gcc instead of clang on macOS, specially M1? (Help)

mohit_jx64 → [Invitation] Coding Events — Esya’23 IIIT-Delhi

PinkieRabbit → AI language models and cheating in online contests

Некропост

R.A.N.K.A. → Help in Permutation P[i]=P[P[i]]

Afnan_Saif → Why is CodeChef so Weird?

Medeali → Solving Div 1 A in two hours.Is it good for gray coder?

lumibons → CEOI 2023

SriniV → Answering Queries in sub-linear time

awoo → Разбор Educational Codeforces Round 150

Некропост

MikeMirzayanov → Изменение правил об использовании стороннего кода в соревнованиях Codeforces

ashwanth106121023 → Good Observations:

steveonalex → [Tutorial] Divide and Conquer Offline Query — A Niche Way to solve Static Range Query

induk_v_tsiane → Codeforces Round 892 (Div. 2).

ashwanth106121023 → Need help

Ibrahim-Elsayed → How to solve this problem?

ssk4988 → How to become a Master

Qingyu → The 1st Universal Cup. Stage 17: Guangzhou (CCPC Final 2022)

Некропост

minimario → Problems that are Dijkstra with a Twist

Читайте также:  Священное дерево древних славян

Источник

Оцените статью