Langsung ke konten utama

COMPETITIVE PROGRAMMING

INTRODUCTION TO COMPETITIVE PROGRAMMING


Competitive Programming adalah olahraga pikiran (mind sport) yang biasanya diadakan melalui Internet atau jaringan lokal, yang melibatkan peserta yang mencoba memprogram sesuai dengan spesifikasi yang disediakan. Peserta akan diberikan input program, lalu peserta diharuskan membuat program yang akan memberikan output sesuai deskripsi soal. 

Competitive Programming diakui dan didukung oleh perusahaan besar macam Google dan Facebook. Selain google dan facebook, banyak pula organisasi organisasi yang menyelenggarakan kompetisi pemrograman secara teratur, ada yang satu tahun sekali (gemastik telkom, compfest universitas indonesia, arkavidia institut teknologi bandung, joints universitas gadjahmada, dan banyak lagi), ada yang perbulan (tlx.toki.id), ada pula yang per minggu (codeforces.com, atcoder.jp dan masih banyak lagi). 

Peserta yang mengikuti atau akan mengikuti competitive programming diharuskan untuk memiliki logika yang bagus dan menguasai dasar dasar matematika, seperti teori bilangan, kombinatorika dan lain sebagainya. Di website ini saya akan menjelaskan beberapa materi yang pastinya akan dipakai untuk menyelesaikan soal soal competitive programming.

Bagi Anda yang baru ingin untuk terjun kedalam Competitive Programming, saya sarankan anda untuk memahami beberapa algoritma dasar dalam matematika, seperti mencari fpb menggunakan euclid algorithm, mencari semua bilangan prima dari 1 sampai N menggunakan algoritma sive of eratothenes, dan masih banyak lagi.

Bagi Anda yang sudah cukup lama mendalami bidang Competitive Programming, Anda dapat mencoba berbagai latihan soal yang sudah saya sediakan. Saya pun beberapa menyiapkan pembahasan dari tiap tiap soal, agar Anda dapat sekaligus memahami alur dan pemecahan solusi dari soal yang diberikan.

Website ini saya buat semata mata agar ilmu yang saya peroleh tidak hilang begitu saja, sehingga saya memutuskan untuk mendokumentasi semua ilmu yang telah saya peroleh, selain bisa lebih nempel ilmunya, saya harap website ini juga bisa membantu para adik adik yang kesulitan mencari sumber belajar di bidang Competitive Programming. Selam hangat dari author :)


Berikut adalah daftar daftar Algoritma:

A. Math

B. Data Structure

C. Geometry

D. String

E. Graf

F. Greedy

G. Dynamic Programming

H. Brute Force


Berikut adalah daftar daftar Soal dan Pembahasan:

1. Arkavidia 7.0 Final 2021

2. Arkavidia 7.0 Penyisihan 2021

3. Arkavidia 6.0 Final 2020

4. Arkavidia 6.0 Penyisihan 2020

5. Arkavidia 5.0 Final 2019

6. Arkavidia 5.0 Penyisihan 2019

7. Arkavidia 4.0 Final 2018

8. Arkavidia 4.0 Penyisihan 2018



Komentar

Postingan populer dari blog ini

ARKAVIDIA 7.0 PENYISIHAN

 ARKAVIDIA 7.0 PENYISIHAN Soal 1 - Ambil Batu Soal 2 - Buku Raja Soal 3 - Cokelat dan Permen Soal 4 - DVD Soal 5 - Emordnilap Soal 6 - Farming Buah Soal 7 - GCD Mania Soal 8 - Hadiah Untuk Kembaran Soal 9 - Indra dan Pizza Soal 10 - Jumlah Opat Pembahasan 1 - Ambil Batu Pembahasan 2 - Buku Raja Pembahasan 3 - Cokelat dan Permen Pembahasan 4 - DVD Pembahasan 5 - Emordnilap Pembahasan 6 - Farming Buah Pembahasan 7 - GCD Mania Pembahasan 8 - Hadiah Untuk Kembaran Pembahasan 9 - Indra dan Pizza Pembahasan 10 - Jumlah Opat Beberapa soal belum ada pembahasan nya, karena saya juga sedang mencoba memecahkannya :)

Mencari FPB dan KPK Tercepat

EUCLID ALGORITHM Pengertian : FPB = Faktor Persekutuan Terkecil. Antara dua bilangan, FPB dari kedua bilangan adalah bilangan bulat positif terbesar yang membagi habis kedua bilangan tersebut. KPK = Kelipatan Persekutan Terkecil. Antara dua bilangan, KPK dari kedua bilangan adalah bilangan bulat positif terkecil yang merupakan kelipatan dari kedua bilangan tersebut. Secara singkat, untuk bilangan bulat positif A, dan B, berlaku : A*B = FPB(A,B) * KPK(A,B) Sehingga, untuk mencari KPK kita cukup mencari FPB saja, dan nilai KPK adalah: KPK(A,B) = A*B / FPB(A,B) Untuk mencari FPB, kita akan menggunakan Algoritma Euclid, yang dikenal efektif dan cepat. Contoh Penggunaan Algoritma Euclid :  1. Misal ada dua bilangan, A = 14, dan B = 21. Kita akan menghitung FPB nya.     Formula = B = A*K + S  //Keterangan : K adalah Hasil Pembagian  dan S adalah Sisa Pembagian     Step 1 :      21 = 14*1 + 7 //Disini K=1, dan S = 7      A nilain...

ARKAVIDIA 6.0 Penyisihan

 ARKAVIDIA 6.0 Penyisihan Soal 1 - Minimum XOR Soal 2 - Himpunan Bilangan Prima Soal 3 - Naga Liar Soal 4 - Nonogram Soal 5 - Snowman Soal 6 - Triple Pythagoras Palsu Soal 7 - Pemotongan Kue Soal 8 - XOR Beruntun Pembahasan 1 - Minimum XOR Pembahasan 2 - Himpunan Bilangan Prima Pembahasan 3 - Naga Liar Pembahasan 4 - Nonogram Pembahasan 5 - Snowman Pembahasan 6 - Triple Pythagoras Palsu Pembahasan 7 - Pemotongan Kue Pembahasan 8 - XOR Beruntun