QOJ.ac

QOJ

Time Limit: 2 s Memory Limit: 256 MB Total points: 100

#22352. Réconforter les vaches

Statistics

Farmer John est trop paresseux pour entretenir les chemins vers ses $N$ pâturages ($5\le N\le10{,}000$), numérotés $1\ldots N$. Chacun abrite une vache. Il veut supprimer un maximum des $P$ chemins ($N-1\le P\le100{,}000$), en gardant la connexité. Déterminez lesquels des $N-1$ conserver.

Le chemin bidirectionnel $j$ relie $S_j,E_j$ ($1\le S_j\le N;1\le E_j\le N;S_j\ne E_j$), en temps $L_j$ ($0\le L_j\le1{,}000$). Au plus un chemin direct par paire.

Les vaches sont tristes de perdre des transports. Visitez chacune au moins une fois par jour. À chaque visite de $i$, même un passage, parlez-lui pendant $C_i$ ($1\le C_i\le1{,}000$).

Dormez chaque nuit au même pâturage choisi jusqu’à leur rétablissement. Vous parlerez à sa vache au moins au réveil et le soir au retour pour dormir.

Si FJ conserve vos chemins et le lieu de sommeil est optimal, trouvez le temps quotidien minimal pour visiter chacune au moins une fois.

Pour vos $10$ premières soumissions, les résultats sur une partie des véritables tests seront fournis.

Entrée

  • Ligne $1$ : entiers $N,P$ séparés par un espace.

  • Lignes $2\ldots N+1$ : ligne $i+1$, entier $C_i$.

  • Lignes $N+2\ldots N+P+1$ : ligne $N+j+1$, entiers $S_j,E_j,L_j$ séparés par des espaces.

Sortie

  • Ligne $1$ : entier, temps total des visites, incluant deux visites à la vache du pâturage de sommeil.

Exemples

Entrée 1

5 7
10
10
20
6
30
1 2 5
2 3 5
2 4 12
3 4 17
2 5 15
3 5 6
4 5 12

Sortie 1

176

Remarque

              +-(15)-+
             /        \
            /          \
     1-(5)-2-(5)-3-(6)--5
            \   /(17)  /
         (12)\ /      /(12)
              4------+

Conservez ces chemins :

     1-(5)-2-(5)-3      5
            \          /
         (12)\        /(12)
             *4------+

Réveillez-vous en $4$ et visitez $4,5,4,2,3,2,1,2,4$, pour $176$ de temps avant le sommeil.

Sous-tâches

Points : $300$

Auteurs du problème : David Benjamin et Jacob Steinhardt, 2008

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.