Per curiosità, qualcuno per caso sa come viene calcolato il punteggio massimo di un problema su training? So che quando un problema viene pubblicato vale inizialmente 100 punti e poi a seconda di quante persone lo risolvono e quanti tentativi fanno viene assegnato un certo valore che può sempre cambiare. Qual è la formula/algoritmo per calcolare questo?
Puoi vederlo dal sorgente di training (che è pubblico):
Questo è proprio il file che calcola i punteggi dei task.
Indicativamente ripete venti round di questa cosa:
- Calcola la bravura di ogni utente in base alla somma delle difficoltà dei task che ha risolto (che all’inizio sarà difficoltà iniziale di ogni task * numero di task che ha risolto)
- Calcola la difficoltà di ogni task come media di [punti che ci ha fatto ogni utente / bravura dell’utente] (tra l’altro la media è pesata: chi ha fatto più task conta di più)
- Ripeti il procedimento, sperando che bravura degli utenti e difficoltà dei task convergano a dei valori sensati.
Non so se questo algoritmo abbia un nome particolare, in ogni caso tutto ciò che ti ho detto l’ho dedotto dal sorgente che ti ho linkato sopra.
2 Mi Piace
Non sapevo nemmeno dell’esistenza di questa repo