Come saprai la gara è stata estesa fino al 17 (per chi ha esigenze particolari e per chi non sapeva della gara). Tuttavia avevamo detto che oggi avremmo aggiunto i task per gli allenamenti (e pubblicato le soluzioni), quindi ecco:
IMHO, trasporti è assurdo. Gli altri tre sono fattibili, forse i primi due un po’ troppo facili (anche se il secondo sembra che abbia dato problemi a più di una persona :p)
Come avete trovato i problemi? Ci farebbe piacere qualche commento costruttivo per il futuro! :D
Gaspare
A parte che ho fatto schifo hahaha
Comunque i problemi erano belli: i primi tre erano fattibili, l'ultimo era veramente difficile (parlo sempre della soluzione ottima per ogni problema).
So che "Trasporti" l'hai scritto te: di che droghe fai uso?
Gli altri invece chi li ha scritti? Potevate firmarvi =P (So però che Skyline dovrebbe averlo scritto Milizia.. o dovrei dire Ilazimi °L°)
I primi due sono molto semplici, il terzo non è complicato ma è molto difficile prendere il 100/100. Il quarto invece è molto difficile da implementare in gara, ma la soluzione è comunque abbastanza capibile (a seguito della gara, durante credo che sia improbabile prendere 100 (o quasi ahahaha))
Complimenti per i problemi, veramente carini l’ultimo era più difficile di quello che pensavo, dato che non ho avuto il tempo di mettermici seriamente.
Sono comunque contento della mia settima posizione
Comunque per i più curiosi questo problema l’ho pensato dopo aver scoperto l’Heavy-Path decomposition ( che è la prima soluzione da 100 che abbiamo trovato, quella che vi abbiamo mostrato è di Milizia ed è più facile da capire ). Visto la complessità della tecnica abbiamo deciso di dare solo 10 punti in più per la vera soluzione e abbiamo puntato di più sugli altri subtask. Il subtask 2 si risolveva con due if per ogni query ( e infatti valeva 7punti ) Il subtask 3 era pensato per implementare un RMQ con un segment tree ( o similari ) Il subtask 4 una DFS dalla radice agli altri nodi memorizzandosi il valore massimo incontrato. Il subtask 5 l’avevo pensato per far implementare una union-find, anche se ho visto che molti hanno trovato una soluzione alternativa con una colorazione dell’albero. Il subtask 6 bastava una qualsiasi soluzione cubica ( es. una versione modifica del floyd-warshall ). Il subtask 7 ( e 6 ) una soluzione quadratica, la stessa idea del ST4 applicata però ad ogni nodo.
Qui potete trovare una spiegazione dell’heavy-light-decomposition
Altra curiosità: mentre la gara era in corso ci siamo accorti che è possibile risolvere, senza troppo sforzo in più, anche una versione più generale del problema, in cui il grafo non è un albero.