Punteggio massimo dei problemi di training

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