Täglicher AtCoder # 42 in Python

Einführung

Letztes Mal Löse das gestrige ABC-D.

#42 Problem

** Gedanken ** Selbst nachdem ich die Erklärung gelesen hatte, war sie nicht erfrischend, daher habe ich sie unter Bezugnahme auf Kenchons Artikel implementiert. Das Wichtigste beim Nachdenken über dieses Problem ist, sich der Absicht bewusst zu sein, dass $ 10 ^ {100} $ geschrieben wird. Wie ich im Kommentarartikel geschrieben habe, wird die Summe der ausgewählten Zahlen nicht dupliziert, wenn aufgrund des Vorhandenseins von $ 10 ^ {100} $ unterschiedliche Zahlen ausgewählt werden. Die Summe ist auch eine stetige ganze Zahl. Aus dem Obigen kann es als ein Problem der Berechnung der Summe von N + 1 Zahlen angesehen werden, die aus k aus {0,1, ... N + 1} ausgewählt wurden. Die Anzahl der Summen kann geschrieben werden als (maximale Ganzzahl aus $ i - minimale Ganzzahl aus i + 1 $, $ k \ leq i \ leq N + 1 $). Die minimale Summe des $ i $ th ist $ \ frac {i (i-1)} {2} $, und die Summe des maximalen n-ten bis k-ten ist $ \ frac {i (2N-i + 1)} { 2} $. Wenn diese implementiert sind,

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

ans = 0
for i in range(k,n+2):
    minmin = (i*(i-1))//2 #Der Variablenname ist schrecklich
    maxmax = ((2*n-i+1)*i)//2
    ans += maxmax - minmin + 1

print(ans%(10**9+7))

Zusammenfassung

Dieser Wettbewerb war C: Einfach, D: Ein bisschen einfach, E: Was? Also dachte ich, ich müsste über D lösen. Wir sehen uns wieder, gute Nacht

Recommended Posts

Täglicher AtCoder # 36 mit Python
AtCoder # 2 jeden Tag mit Python
Täglicher AtCoder # 32 in Python
Täglicher AtCoder # 6 in Python
Täglicher AtCoder # 53 in Python
Täglicher AtCoder # 33 in Python
Täglicher AtCoder # 7 in Python
Täglicher AtCoder # 37 in 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
Jeden Tag mit Python AtCoder # 22
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 # 48 in Python
Täglicher AtCoder # 23 in Python
Täglicher AtCoder # 34 in Python
Täglicher AtCoder # 51 mit Python
Täglicher AtCoder # 31 in 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 ABC165 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