Täglicher AtCoder # 44 mit Python

Einführung

Letztes Mal Löse 5 Bootcamp-Probleme

#44 ABC056-C

** Gedanken ** Die Summe der nicht negativen ganzen Zahlen bis i ist $ \ frac {1} {2} n (n + 1) $}}. Diese Summe wird zu $ X $, wenn $ \ frac {1} {2} n (n + 1) = X $, und wenn nach $ n $ aufgelöst wird, $ n = \ frac {-1 \ pm { \ sqrt {8X + 1}}} {2} $. Das Hinzufügen des Ceil-Symbols zur Lösung dieser Gleichung ergibt $ \ lceil \ frac {-1 \ pm {\ sqrt {8X + 1}}} {2} \ rceil $. Das ist die Antwort.

import math
x = int(input())

f = (-1+math.sqrt(8*x+1)) / 2
print(math.ceil(f))

ABC066-C

** Gedanken ** Wenn Sie jede Operation umkehren, sterben Sie. Verwenden Sie also bool, um zu verwalten, ob sie rückgängig gemacht wird. Wir verwenden deque, weil wir nur auf die linke und rechte Seite der Daten zugreifen. Sie müssen lediglich die Operation implementieren

from collections import deque
n = int(input())
a = list(input().split())

b = deque([])
r = False
for i in range(n):
    if r:
        b.appendleft(a[i])
    else:
        b.append(a[i])
    r = not r

if r:
    b = reversed(b)
ans = ' '.join(b)
print(ans)

Ähnliches Thema

ARC069-C

** Gedanken ** Überlegen Sie zunächst, wie viele sccs erstellt werden können, ohne c zu s zu synthetisieren. Der scc, der erstellt werden kann, ohne c zu s zu synthetisieren, ist $ min (N, M // 2) $. Als nächstes betrachten wir den Fall des Compositing. In Kombination werden zwei cs zu einem s. Wenn Sie also versuchen, s aus c zu machen, benötigen Sie vier cs. Alles was Sie tun müssen, ist es zu implementieren.

n, m = map(int,input().split())

if m - 2 * n >= 0: #Ob scc ohne Synthese hergestellt werden kann
    ans = n + (m-2*n)//4
    print(ans)
else:
    print(m//2)

ABC130-C

** Gedanken ** Wenn der zu teilende Punkt in der Mitte liegt, gibt es unzählige Teilungsmethoden. Außerdem ist die kleinere Fläche, wenn sie geteilt wird, die Hälfte der Gesamtfläche.

w, h, x, y = map(int,input().split())

s = w * h / 2
if 2*x == w and 2*y == h:
    print(s,1)
else:
    print(s,0)

ARC081-C

** Gedanken ** Das Zählen des $ A_i $ -Elements wird wahrscheinlich TLE sein, also werden wir es auf eine andere Weise zählen. Es wird durch Sortieren und Zählen nach Wertbegrenzer implementiert. Wenn es 4 oder mehr längste Seiten gibt, ist das Quadrat, das auf diesen Seiten gemacht werden kann, das Maximum. Andernfalls handelt es sich um ein Rechteck mit zwei ersten und zwei zweiten Seiten.

n = int(input())
a = list(map(int,input().split()))

a.sort(reverse=True)
c = 0
v = []
for i in range(n-1):
    if a[i] != a[i+1]:
        c += 1
        if c >= 2: #Nur anhängen, wenn zwei oder mehr Seiten vorhanden sind
            v.append([a[i],c])
        c = 0
    else:
        c += 1
if a.count(a[-1]) >=2:
    v.append([a[-1],a.count(a[-1])])
if len(v) == 0: #Wenn v leer ist, können Sie kein Quadrat erstellen
    print(0)
elif v[0][1] >= 4: #Werde ein Quadrat
    print(v[0][0]**2)
elif len(v) >= 2: #Rechteck
    print(v[0][0]*v[1][0])

Zusammenfassung

Dies ist genug zu lösen. wir sehen uns,

Recommended Posts

Täglicher AtCoder # 36 mit Python
AtCoder # 2 jeden Tag mit Python
Täglicher AtCoder # 32 in Python
Täglicher AtCoder # 18 in Python
Täglicher AtCoder # 33 in Python
Täglicher AtCoder # 7 in Python
AtCoder # 24 jeden Tag mit Python
AtCoder # 8 jeden Tag mit Python
Täglicher AtCoder # 42 in Python
Täglicher AtCoder # 21 mit Python
Täglicher AtCoder # 17 mit Python
Täglicher AtCoder # 38 in Python
Täglicher AtCoder # 54 in Python
Täglicher AtCoder # 11 in Python
Täglicher AtCoder # 15 in Python
Täglicher AtCoder # 47 mit Python
Täglicher AtCoder # 13 in Python
Täglicher AtCoder # 45 mit Python
AtCoder # 30 jeden Tag in Python
Täglicher AtCoder # 40 mit Python
Täglicher AtCoder # 10 mit Python
AtCoder # 5 jeden Tag mit Python
Täglicher AtCoder # 28 in Python
Täglicher AtCoder # 39 in Python
Täglicher AtCoder # 20 in Python
Täglicher AtCoder # 19 in Python
Täglicher AtCoder # 52 in Python
Täglicher AtCoder # 3 in Python
Täglicher AtCoder # 14 mit Python
Täglicher AtCoder # 50 mit Python
Täglicher AtCoder # 26 mit Python
Täglicher AtCoder # 4 mit Python
Täglicher AtCoder # 43 in Python
Täglicher AtCoder # 29 in Python
Täglicher AtCoder # 49 in Python
Täglicher AtCoder # 27 in Python
AtCoder # 1 jeden Tag mit Python
Täglicher AtCoder # 25 mit Python
Täglicher AtCoder # 16 in Python
Täglicher AtCoder # 12 in Python
Täglicher AtCoder # 23 in Python
Täglicher AtCoder # 34 in Python
Täglicher AtCoder # 51 mit Python
Jeden Tag mit Python AtCoder # 46
Täglicher AtCoder # 35 mit Python
AtCoder # 9 jeden Tag mit Python
Täglicher AtCoder # 44 mit Python
Jeden Tag mit Python AtCoder # 41
Atcoder ABC164 A-C in Python
atCoder 173 Python
Python-Eingabehinweis in AtCoder
Atcoder ABC167 A-D in Python
Atcoder ABC166 A-E in Python
Atcoder ABC169 A-E in Python
AtCoder ABC177 A-D mit Python
Löse den Atcoder ABC169 A-D mit Python
[Python] Grundkenntnisse in AtCoder
Quadtree in Python --2
Python in der Optimierung
Metaprogrammierung mit Python
Python 3.3 mit Anaconda