Problem B
Primärfaktor
“Vilket är världens högsta berg? Den högsta punkten på Mount
Everests topp. OK, men vilket är världens näst högsta berg? Den
näst högsta punkten på Mount Everests topp såklart.”
Med den här logiken blir listan på världens högsta berg väldigt
dum. Men det finns en lösning, man introducerar begreppet
primärfaktor. Primärfaktorn hos ett berg är det minsta
avståndet i höjdled man måste gå ner från berget för att komma
till ett strikt högre berg. Det funkar som ett slags mått på
hur självständigt ett berg är, och om man rensar bort alla
punkter med primärfaktor mindre än 200 m, så blir man av med
alla fåniga små berg som egentligen sitter på högre berg. Det
här problemet handlar om att hitta alla primärfaktorer i en
graf.
Vi har en graf med $n$
noder och $m$ kanter, där
varje nod $i$ har ett
icke-negativt heltal $h(i)$, nodens höjd. En nods
primärfaktor $P(i)$ är den
minsta höjden man måste gå ner från noden för att komma till en
nod med strikt högre höjd. Här kommer en lite mer matematisk
definition: Låt $G(i)$
vara mängden av alla vägar från noden $i$ till någon annan nod $j$ sådan att $h(j) > h(i)$. Primärfaktorn hos
$i$ definieras
som
Om $G(i) = \emptyset $,
dvs om det överhuvudtaget inte går att ta sig till en nod med
högre höjd, så säger vi att primärfaktorn är $h(i)$.
Givet en graf, hitta alla noders primärfaktorer.
Indata
En rad med två heltal, $n$ och $m$. En rad med $n$ heltal $0 \leq h(i) \leq 10^9$, nodernas höjder. $m$ rader med två heltal, $a$ och $b$ ($1 \leq a,b \leq n$), vilket betyder att en kant går mellan noderna $a$ och $b$.
Utdata
En rad med $n$ heltal, nodernas primärfaktorer.
Poängsättning
Din lösning kommer att testas på en mängd testfallsgrupper. För att få poäng för en grupp så måste du klara alla testfall i gruppen.
Grupp |
Poängvärde |
Gränser |
1 |
25 |
$n \le 1000, m \le 4000$ |
2 |
25 |
$n \le 100\, 000,$ grafen är en linje, dvs kanterna är $(1,2),(2,3) \dots (n-1,n)$ |
3 |
50 |
$n \le 100\, 000, m \le 400\, 000$ |
Sample Input 1 | Sample Output 1 |
---|---|
5 4 3 2 5 1 6 1 2 2 3 3 4 4 5 |
1 0 4 0 6 |
Sample Input 2 | Sample Output 2 |
---|---|
6 7 1 2 3 4 5 6 1 2 1 3 1 6 2 3 2 4 2 5 3 4 |
0 0 0 2 4 6 |