[PYTHON] AtCoder Beginner Contest 063 Revue des questions précédentes

Questions passées résolues pour la première fois

Temps requis

スクリーンショット 2020-01-01 18.54.15.png

Problème A

Quand je l'ai écrit avec un opérateur ternaire, le nombre de caractères était petit, donc je pouvais le taper rapidement

answerA.py


a,b=map(int,input().split())
print(a+b if a+b<10 else "error")

Problème B

Qu'une couverture soit définie ou non, l'opérateur ternaire a également été utilisé ici

answerB.py


s=list(input())
t=list(set(s))
print("yes" if len(s)==len(t) else "no")

Problème C

S'il n'y a qu'un multiple de 10, la somme est toujours un multiple de 10, donc 0 est affiché. S'il y a quelque chose qui n'est pas un multiple de 10, ajoutez-les tous et s'il s'agit d'un multiple de 10, alors ce n'est pas un multiple de 10. Tout ce que vous avez à faire est de tirer le plus petit.

answerC.py


n=int(input())
a=[]
b=[]
for i in range(n):
    s=int(input())
    if s%10==0:
        a.append(s)
    else:
        b.append(s)
b.sort()
if len(b)==0:
    print(0)
else:
    if sum(b)%10==0:
        print(sum(a)+sum(b[1:]))
    else:
        print(sum(a)+sum(b))

Problème D

Le problème B du dernier AGC041 était un problème assez similaire (typique ??). Tout d'abord, ** il est inévitable que répéter l'explosion honnêtement ne soit pas à temps pour le montant du calcul **, alors j'ai pensé à ce qui se passerait si l'explosion était répétée $ X $ fois. Supposons maintenant que $ X $ d'explosions se produisent $ m_i $ fois autour du $ i $ ème monstre. À ce moment, la force physique du $ i $ ème monstre est $ h_i-m_i \ fois A- (X-m_i) \ fois B = h_i-X \ fois B-m_i \ fois (AB) $, ce qui est un arbitraire 1 Si <= $ i $ <= N vaut 0 ou moins, vous pouvez vaincre tous les N monstres. Par conséquent, ** $ (h_i-X \ times B) / (A-B) $ arrondi est le nombre d'explosions centrées sur ce monstre nécessaire pour vaincre chaque monstre **. Si ce nombre de fois est calculé pour chaque monstre et que la valeur ajoutée est de X $ ou moins, on peut dire que tous les monstres peuvent être effacés par x explosions. De plus, il est clair d'après la contrainte que ** $ X $ est au plus de 10 $ ^ 9 $, et il est clair qu'il est clair que tous les monstres peuvent être effacés à la limite de $ X $ **, donc la valeur est calculée par dichotomie. Vous pouvez le demander. D'après ce qui précède, il a été constaté qu'il peut être calculé par un multiple constant (environ 10 fois) de O (n).

answerD.py


import math
n,a,b=map(int,input().split())
h=[int(input()) for i in range(n)]

def explode(x):
    global n
    c=0
    for i in range(n):
        if h[i]-x*b>0:
            c+=math.ceil((h[i]-x*b)/(a-b))
    return c<=x

l,r=1,10**9
while l+1<r:
    k=(l+r)//2
    if explode(k):
        r=k
    else:
        l=k

print(l if explode(l) else r)

Recommended Posts

AtCoder Beginner Contest 102 Revue des questions précédentes
AtCoder Beginner Contest 072 Revue des questions précédentes
AtCoder Beginner Contest 085 Revue des questions précédentes
AtCoder Beginner Contest 062 Revue des questions précédentes
AtCoder Beginner Contest 113 Revue des questions précédentes
AtCoder Beginner Contest 074 Revue des questions précédentes
AtCoder Beginner Contest 051 Revue des questions précédentes
AtCoder Beginner Contest 127 Revue des questions précédentes
AtCoder Beginner Contest 119 Revue des questions précédentes
AtCoder Beginner Contest 151 Revue des questions précédentes
AtCoder Beginner Contest 075 Revue des questions précédentes
AtCoder Beginner Contest 054 Revue des questions précédentes
AtCoder Beginner Contest 110 Revue des questions précédentes
AtCoder Beginner Contest 117 Revue des questions précédentes
AtCoder Beginner Contest 070 Revue des questions précédentes
AtCoder Beginner Contest 112 Revue des questions précédentes
AtCoder Beginner Contest 076 Revue des questions précédentes
AtCoder Beginner Contest 089 Revue des questions précédentes
AtCoder Beginner Contest 069 Revue des questions précédentes
AtCoder Beginner Contest 079 Revue des questions précédentes
AtCoder Beginner Contest 067 Revue des questions précédentes
AtCoder Beginner Contest 093 Revue des questions précédentes
AtCoder Beginner Contest 046 Revue des questions précédentes
AtCoder Beginner Contest 123 Revue des questions précédentes
AtCoder Beginner Contest 049 Revue des questions précédentes
AtCoder Beginner Contest 078 Revue des questions précédentes
AtCoder Beginner Contest 081 Revue des questions précédentes
AtCoder Beginner Contest 047 Revue des questions précédentes
AtCoder Beginner Contest 060 Revue des questions précédentes
AtCoder Beginner Contest 104 Revue des questions précédentes
AtCoder Beginner Contest 057 Revue des questions précédentes
AtCoder Beginner Contest 126 Revue des questions précédentes
AtCoder Beginner Contest 090 Revue des questions précédentes
AtCoder Beginner Contest 103 Revue des questions précédentes
AtCoder Beginner Contest 061 Revue des questions précédentes
AtCoder Beginner Contest 059 Revue des questions précédentes
AtCoder Beginner Contest 044 Revue des questions précédentes
AtCoder Beginner Contest 083 Revue des questions précédentes
AtCoder Beginner Contest 048 Revue des questions précédentes
AtCoder Beginner Contest 124 Revue des questions précédentes
AtCoder Beginner Contest 116 Revue des questions précédentes
AtCoder Beginner Contest 097 Revue des questions précédentes
AtCoder Beginner Contest 088 Revue des questions précédentes
AtCoder Beginner Contest 053 Revue des questions précédentes
AtCoder Beginner Contest 094 Revue des questions précédentes
AtCoder Beginner Contest 063 Revue des questions précédentes
AtCoder Beginner Contest 107 Revue des questions précédentes
AtCoder Beginner Contest 071 Revue des questions précédentes
AtCoder Beginner Contest 064 Revue des questions précédentes
AtCoder Beginner Contest 082 Revue des questions précédentes
AtCoder Beginner Contest 084 Revue des questions précédentes
AtCoder Beginner Contest 068 Revue des questions précédentes
AtCoder Beginner Contest 058 Revue des questions précédentes
AtCoder Beginner Contest 043 Revue des questions précédentes
AtCoder Beginner Contest 098 Revue des questions précédentes
AtCoder Beginner Contest 114 Revue des questions précédentes
AtCoder Beginner Contest 045 Revue des questions précédentes
AtCoder Beginner Contest 120 Revue des questions précédentes
AtCoder Beginner Contest 108 Revue des questions précédentes
AtCoder Beginner Contest 106 Revue des questions précédentes
AtCoder Beginner Contest 122 Revue des questions précédentes