AtCoder Beginner Contest 153 Merci pour votre travail acharné! Page officielle
Le code que j'ai écrit cette fois est ici Le résultat était AC de A à D et TLE de F.
Je vais vous expliquer brièvement ci-dessous.
Le problème que HP attaque les monstres H avec une puissance d'attaque A et demande combien de fois ils peuvent être vaincus. Cela devrait être correct si vous faites attention au traitement lorsque le H / A est simplement divisible.
Le problème de l'addition des nombres (puissance d'attaque du coup spécial) et de se demander s'il atteindra ou non les PV de l'adversaire. Vous devriez pouvoir faire un simple ajout.
Il y a N monstres, et vous pouvez utiliser des coups spéciaux K fois. Vous pouvez tuer des monstres instantanément avec ce mouvement spécial, donc si on vous demande qui utiliser ce mouvement spécial, vous pouvez ajouter la force physique des ennemis restants.
Bien sûr, je veux utiliser les mouvements spéciaux du corps K par ordre décroissant de force physique, alors faisons de notre mieux pour l'exprimer avec du code.
Lorsque vous attaquez une fois, le monstre devient H / 2 et se divise, et si vous en avez 1, vous pouvez le vaincre. Cela a été rendu relativement simple en ayant ** le nombre d'ennemis ** et ** la force physique des ennemis **.
Avec une seule opération Additionnez le nombre d'attaques par ** le nombre d'ennemis **
Ce n'est pas grave si vous répétez cette opération jusqu'à ce que votre force physique devienne 0.
Je ne sais pas, pensant que cela semble être un problème standard de l'algorithme.
C'était un TLE à 2 cas ... Ma façon de penser ① Triez les coordonnées par ordre croissant ② Convertissez le nombre d'attaques pouvant vaincre la force physique de l'ennemi En tant que prétraitement,
① Obtenez une coordonnée dans l'ordre croissant ② Obtenez combien de fois l'ennemi peut être vaincu à ce moment-là ③ À partir de là, obtenez des points pour la portée de la bombe ④ Attaquez les ennemis dans cette plage autant que vous êtes entré ②.
Je pense que ce sera AC si elle peut être mise en œuvre correctement, mais je pense que l'idée de base n'est pas fausse.
La note est 956 → 944.
J'ai pu aborder le problème D en 17 minutes et j'ai senti une croissance. Il semble que le taux n'augmentera pas d'ici à moins qu'il ne puisse être résolu après le problème E. ..
Nous passerons en revue les problèmes E et F cette fois! !! : cri:
Recommended Posts