[PYTHON] AtCoder Beginner Contest 063 Rückblick auf frühere Fragen

Frühere Fragen zum ersten Mal gelöst

Benötigte Zeit

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

Problem A

Als ich es mit einem ternären Operator schrieb, war die Anzahl der Zeichen gering, sodass ich es schnell eingeben konnte.

answerA.py


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

B-Problem

Unabhängig davon, ob eine Abdeckung vorhanden ist oder nicht, wurde auch hier der ternäre Operator verwendet

answerB.py


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

C-Problem

Wenn es nur ein Vielfaches von 10 gibt, ist die Summe immer ein Vielfaches von 10, also wird 0 ausgegeben. Wenn es etwas gibt, das kein Vielfaches von 10 ist, addieren Sie alle und wenn es ein Vielfaches von 10 ist, ist es kein Vielfaches von 10. Alles was Sie tun müssen, ist das kleinste zu ziehen.

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))

D Problem

Das B-Problem der neuesten AGC041 war ein ziemlich ähnliches Problem (typisch ??). Zuallererst ** ist es unvermeidlich, dass das ehrliche Wiederholen der Explosion nicht rechtzeitig zum Berechnungsbetrag kommt **, also dachte ich darüber nach, was passieren würde, wenn die Explosion $ X $ mal wiederholt würde. Nehmen wir nun für $ X $ Explosionen an, dass $ i $ th monsterzentrierte Explosionen $ m_i $ mal auftreten. Zu diesem Zeitpunkt ist die physische Stärke des $ i $ -ten Monsters $ h_i-m_i \ mal A- (X-m_i) \ mal B = h_i-X \ mal B-m_i \ mal (AB) $, was eine beliebige 1 ist Wenn <= $ i $ <= N 0 oder weniger ist, kannst du alle N Monster besiegen. Daher ist ** $ (h_i-X \ mal B) / (A-B) $ aufgerundet die Anzahl der Explosionen, die sich auf das Monster konzentrieren, das erforderlich ist, um jedes Monster zu besiegen **. Wenn diese Anzahl für jedes Monster berechnet wird und der Mehrwert $ X $ oder weniger beträgt, kann gesagt werden, dass alle Monster durch x Explosionen gelöscht werden können. Aus der Einschränkung geht auch hervor, dass ** $ X $ höchstens $ 10 ^ 9 $ beträgt, und es ist klar, dass alle Monster an der Grenze von $ X $ ** gelöscht werden können, sodass der Wert durch Dichotomie berechnet wird. Sie können danach fragen. Aus dem Obigen wurde herausgefunden, dass es durch ein konstantes Vielfaches (ungefähr das 10-fache) von O (n) berechnet werden kann.

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 Rückblick auf frühere Fragen
AtCoder Beginner Contest 072 Rückblick auf frühere Fragen
AtCoder Beginner Contest 085 Rückblick auf frühere Fragen
AtCoder Beginner Contest 062 Rückblick auf frühere Fragen
AtCoder Beginner Contest 113 Rückblick auf frühere Fragen
AtCoder Beginner Contest 074 Rückblick auf frühere Fragen
AtCoder Beginner Contest 051 Rückblick auf frühere Fragen
AtCoder Beginner Contest 127 Rückblick auf frühere Fragen
AtCoder Beginner Contest 119 Rückblick auf frühere Fragen
AtCoder Beginner Contest 151 Rückblick auf frühere Fragen
AtCoder Beginner Contest 075 Rückblick auf frühere Fragen
AtCoder Beginner Contest 054 Rückblick auf frühere Fragen
AtCoder Beginner Contest 110 Rückblick auf frühere Fragen
AtCoder Beginner Contest 117 Rückblick auf frühere Fragen
AtCoder Beginner Contest 070 Rückblick auf frühere Fragen
AtCoder Beginner Contest 112 Rückblick auf frühere Fragen
AtCoder Beginner Contest 076 Rückblick auf frühere Fragen
AtCoder Beginner Contest 089 Rückblick auf frühere Fragen
AtCoder Beginner Contest 069 Rückblick auf frühere Fragen
AtCoder Beginner Contest 079 Rückblick auf frühere Fragen
AtCoder Beginner Contest 067 Rückblick auf frühere Fragen
AtCoder Beginner Contest 093 Rückblick auf frühere Fragen
AtCoder Beginner Contest 046 Rückblick auf frühere Fragen
AtCoder Beginner Contest 123 Überprüfung früherer Fragen
AtCoder Beginner Contest 049 Rückblick auf frühere Fragen
AtCoder Beginner Contest 078 Rückblick auf frühere Fragen
AtCoder Beginner Contest 081 Rückblick auf frühere Fragen
AtCoder Beginner Contest 047 Rückblick auf frühere Fragen
AtCoder Beginner Contest 060 Rückblick auf frühere Fragen
AtCoder Beginner Contest 104 Rückblick auf frühere Fragen
AtCoder Beginner Contest 057 Rückblick auf frühere Fragen
AtCoder Beginner Contest 126 Rückblick auf frühere Fragen
AtCoder Beginner Contest 090 Rückblick auf frühere Fragen
AtCoder Beginner Contest 103 Rückblick auf frühere Fragen
AtCoder Beginner Contest 061 Rückblick auf frühere Fragen
AtCoder Beginner Contest 059 Rückblick auf frühere Fragen
AtCoder Beginner Contest 044 Rückblick auf frühere Fragen
AtCoder Beginner Contest 083 Rückblick auf frühere Fragen
AtCoder Beginner Contest 048 Rückblick auf frühere Fragen
AtCoder Beginner Contest 124 Rückblick auf frühere Fragen
AtCoder Beginner Contest 116 Rückblick auf frühere Fragen
AtCoder Beginner Contest 097 Rückblick auf frühere Fragen
AtCoder Beginner Contest 088 Rückblick auf frühere Fragen
AtCoder Beginner Contest 053 Rückblick auf frühere Fragen
AtCoder Beginner Contest 094 Rückblick auf frühere Fragen
AtCoder Beginner Contest 063 Rückblick auf frühere Fragen
AtCoder Beginner Contest 107 Rückblick auf frühere Fragen
AtCoder Beginner Contest 071 Rückblick auf frühere Fragen
AtCoder Beginner Contest 064 Rückblick auf frühere Fragen
AtCoder Beginner Contest 082 Rückblick auf frühere Fragen
AtCoder Beginner Contest 084 Rückblick auf frühere Fragen
AtCoder Beginner Contest 068 Rückblick auf frühere Fragen
AtCoder Beginner Contest 043 Rückblick auf frühere Fragen
AtCoder Beginner Contest 098 Rückblick auf frühere Fragen
AtCoder Beginner Contest 114 Rückblick auf frühere Fragen
AtCoder Beginner Contest 045 Rückblick auf frühere Fragen
AtCoder Beginner Contest 120 Rückblick auf frühere Fragen
AtCoder Beginner Contest 108 Rückblick auf frühere Fragen
AtCoder Beginner Contest 106 Rückblick auf frühere Fragen
AtCoder Beginner Contest 122 Rückblick auf frühere Fragen