Hogyan lehet megoldani ezt a problémát algoritmikus - Gopher 2

szavazat
0

Próbálom megoldani ezt a problémát https://open.kattis.com/problems/gopher2 :

A gopher család, miután elhárították a kutya veszélyt, szembe kell néznie egy új ragadozó.

A jelentése 𝑛 gopherek és 𝑚 gopher lyukak, minden egyes elkülönült (𝑥, 𝑦) koordinátákat. A héja érkezik, és ha a hörcsög nem éri el a lyukat 𝑠 másodperc ki van téve a megevett. A lyuk lehet menteni legfeljebb egy hörcsög. Minden az ürgék fut azonos sebességgel 𝑣. A gopher családnak szüksége egy menekülési stratégiát, amely a legkevesebb számú veszélyeztetett>> hörcsögöket.

t minimalizálja száma sérülékeny gopherek.

A brute force megközelítés lenne találni az összes lehetséges lyukat elérhető minden, hörcsög, akkor megtalálja az összes különálló (gopher, lyuk) pár.

Van egy gyorsabb algoritmust?

A kérdést 02/12/2019 23:57
a forrás felhasználó
Más nyelveken...                            


1 válasz

szavazat
1

Ez lehet kiszerelni, mint egy példány a maximális számosságú megfelelő problémát egy páros gráf.

Hagy Akell a készlet gopherek és Bjelölje a lyukakat. Van egy él Gopherről a ∈ Aa lyukat b ∈ B, ha a köztük lévő távolság legfeljebb s*v, vagyis a maximális távolságot egy hörcsög fut a rendelkezésre álló idő.

A megoldás tartalmaz egy maximális méretű részhalmaza az élek ezen a grafikonon, oly módon, hogy (1) minden egyes a ∈ Alegfeljebb egy szélét, (2) minden egyes b ∈ Blegfeljebb egy szélét. A megszorítások jelentik a szabályokat, hogy minden hörcsög csak megy az egyik lyukba, és minden lyuk csak illik egy hörcsög. A számos „veszélyeztetett” ürgék ezután száma gopherek mínusz az élek száma a megfelelő.

A grafikon O ( mn ) idő konstrukciót, és a maximális számosságú megfelelő megtalálható O ( mn ) idő vagy kevesebb egy standard algoritmussal, például a Ford-Fulkerson , ahol m jelentése a száma gopherek és n jelentése a száma lyukak.

Ha ez nem elég hatékony az online bíró, akkor hatékonyabb algoritmust , hogy megtalálják a megfelelő és hatékonyabb módja, hogy megtalálják a széleit a grafikonon, például egy négyágú a lekérdezés, amely lyukak távolságon belül s*va gopher alatt O ( n ) időben.

Válaszolt 03/12/2019 00:29
a forrás felhasználó

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more