Löse den AtCoder-Anfängerwettbewerb 156 mit Java

AtCoder Beginner Contest 156 Vielen Dank für Ihre harte Arbeit! Offizielle Seite

Der Code, den ich dieses Mal geschrieben habe, ist hier Das Ergebnis war AC von A nach D und E konnte 5 Minuten nach Ende des Wettbewerbs AC. Frustrierend: weinen:

Ich werde unten kurz erklären.

Problem A

N und K werden als Argumente angegeben, Das Problem des Addierens von "100 * (10-K)" zu N, wenn K 10 oder weniger ist.

Ich denke, es war ein 100-Punkte-Problem.

Problem B

Das Problem der Ausgabe mehrerer Ziffern, wenn eine bestimmte Zahl in K-Notation vorliegt. Es ist in Ordnung, wenn Sie die Anzahl der Ziffern zählen, indem Sie sich mit der while-Anweisung umdrehen.

while (n >= k) {
	n = n / k;
	digit++;
}

Problem C

Es gibt N Personen auf der geraden Linie der Zahl und das Problem, den Punkt zu finden, der die Summe der Quadrate der Verfahrwege aller von ihnen und die Summe der Quadrate minimiert. Wählen Sie zuerst die zentralen Koordinaten von N Personen aus (beachten Sie, dass diese Ganzzahlen sein müssen). Danach habe ich einfach die Summe der Quadrate hinzugefügt.

Da es "N <= 100" war, schien es, dass ich mich nicht zu sehr um den Rechenaufwand kümmern musste.

Problem D

Problem mit dem binären Koeffizienten. Es verwendet die folgenden Eigenschaften:

2^n = {}_n C _0 + {}_n C _1 + {}_n C _2 +・ ・ ・\\
    = \sum_{k=0}^n {}_n C _k\\

Dann sollte berechnet werden

2^n - {}_n C _0 - {}_n C _a - {}_n C _b

Es wird sein.

Problem E

Ich fand die Regel 10 Minuten vor dem Ende und die Implementierung war nicht rechtzeitig, Ursprünglich war ich nacheinander in N Räumen und bemerkte, dass nach einer Bewegung ein Raum 0 wurde.

Ich habe die Kombination berechnet, wenn K Räume 0 Personen haben. Dann

{}_n C _k \times {}_{n-1} C _{n-1-k}

Es wird sein. Insbesondere im Fall von n = 6 ist k = 2,

{}_6 C _2 \times {}_5 C _3

ist. Also, nimm diese Summe

\sum_{i=0}^k \left( {}_n C _k \times {}_{n-1} C _{n-1-k} \right)

ist. Wenn k = 1 ist und wenn k groß ist, war eine andere Überlegung erforderlich, aber die Grundlagen können oben berechnet werden. Ich habe zuerst das inverse Element berechnet und den Rechenaufwand gut geschrieben, aber es war etwas mehr.

Problem F

Es ist unberührt. Ich fand es schwierig, weil es viele Eingaben gab, also ging ich durch. Lol


Die Bewertung lautet 944 → 974.

Insgesamt scheint es ein wenig schwierig. E Das Problem ist etwas mehr ... und ich kann es nicht erreichen. Ich war jedoch kurz davor, das E-Problem zu erreichen, also bekam ich ein Gefühl von Wachstum! Nächstes Mal möchte ich E Problem AC machen ...!

Außerdem habe ich eine Formel mit TeX geschrieben. Immerhin ist es schön: chart_with_upwards_trend:

Recommended Posts

Löse den AtCoder-Anfängerwettbewerb 151 mit Java
Löse den AtCoder Beginner Contest 150 mit Java
Löse den AtCoder-Anfängerwettbewerb 153 mit Java
Löse den AtCoder-Anfängerwettbewerb 175 mit Java
Löse den AtCoder-Anfängerwettbewerb 160 mit Java
Löse den AtCoder-Anfängerwettbewerb 152 mit Java
Löse den AtCoder-Anfängerwettbewerb 156 mit Java
AtCoder Anfängerwettbewerb 168
AtCoder Anfängerwettbewerb 167 C Problem (Java)
AtCoder Beginner Contest 182 Teilnahmeartikel
AtCoder Anfängerwettbewerb 132 D Problem
Java Anfänger 3
Java Anfänger
AtCoder dwango Programmierwettbewerb B zum Lösen in Ruby, Perl und Java B.
AtCoder ARC 081 C-Hash, der in Ruby, Perl und Java gelöst werden muss
Versuchen Sie, Project Euler in Java zu lösen
Partisierung in Java
AtCoder ABC 111 C Hash-Sortierung In Ruby, Perl und Java gelöst
Janken in Java
Übungen für Java-Anfänger
Umfangsrate in Java
FizzBuzz in Java
Java-Übung "Anfänger"
AtCoder Anfängerwettbewerb 169 A, B, C mit Rubin
[AtCoder Problem-ABC001] C-Do Windbeobachtung in Java [Code]
So lösen Sie Ausdrucksprobleme in Java
[Anfänger] Installieren Sie das Java-Entwicklungstool in der Cloud9-Entwicklungsumgebung.
Eine Geschichte über einen Super-Anfänger, der zum ersten Mal am AtCoder-Wettbewerb teilnimmt (AtCoder-Anfängerwettbewerb 140)
Lesen Sie JSON in Java
Interpreter-Implementierung durch Java
Machen Sie einen Blackjack mit Java
Janken App in Java
Einschränkungsprogrammierung in Java
Setzen Sie Java8 in Centos7
NVL-artiger Typ in Java
Verbinden Sie Arrays in Java
"Hallo Welt" in Java
Aufrufbare Schnittstelle in Java
Es ist spät! Versuchen Sie, Android Notification in Java (Anfänger) zu implementieren.
Azure funktioniert in Java
AtCoder Anfängerwettbewerb 170 A, B, C bis Rubin
Einfache HTML-Spezialchars in Java
Boyer-Moore-Implementierung in Java
Hallo Welt in Java
WebApi-Memorandum mit Java
Typbestimmung in Java
Befehle in Java ausführen (Ping)
Verschiedene Threads in Java
Implementierung der Heap-Sortierung (in Java)
ASCII-Kunst in Java
Listen in Java vergleichen
POST JSON in Java
Fehler in Java ausdrücken
Versuchen Sie, ein eingeschränktes FizzBuzz-Problem in Java zu lösen
Erstellen Sie JSON in Java
Datumsmanipulation in Java 8
Was ist neu in Java 8?
Verwenden Sie PreparedStatement in Java
Was ist neu in Java 9,10,11