Pembahasan Penyisihan Competitive Programming Tingkat Mahasiswa. CompFest 2013

dokumen-dokumen yang mirip
Berkas Soal Penyisihan Competitive Programming Tingkat Mahasiswa. CompFest 2013

Pembahasan Penyisihan Competitive Programming Tingkat SMA. CompFest Kontributor: Ashar Fuadi Gede Wahyu Adi Pramana William Gozali

Olimpiade Sains Nasional 2015 Bidang Informatika. Pembahasan

Berkas Soal Final Competitive Programming Tingkat Mahasiswa. CompFest 2013

BUKLET SOAL. PENYISIHAN PEMROGRAMAN GEMASTIK September Soal

OSN 2013 Bidang Informatika. Pembahasan Soal

PEMBAHASAN SOAL FINAL BNPCHS 2014

Analisis Kompleksitas Algoritma dalam Operasi BigMod

Pembahasan CP CompFest - SMA

Pengantar Strategi Algoritma

matematika PEMINATAN Kelas X PERSAMAAN DAN PERTIDAKSAMAAN EKSPONEN K13 A. PERSAMAAN EKSPONEN BERBASIS KONSTANTA

BAB I PENDAHULUAN. Di tengah masyarakat dengan aktivitas yang tinggi, mobilitas menjadi hal yang penting.

PENGGUNAAN BIG O NOTATION UNTUK MENGANALISA EFISIENSI ALGORITMA

Matematika Rekreasi melalui Permainan Kartu

Ujian Akhir Semester Ganjil 2013/2014

Pohon Biner Sebagai Struktur Data Heap dan Aplikasinya

PENYISIHAN PEMROGRAMAN GEMASTIK

BAB III METODOLOGI PENELITIAN. Penelitian ini dilakukan di Jurusan Ilmu Komputer Fakultas Matematika dan

A. Bayar atau Kabur. Format Masukan. Format Keluaran. Contoh Masukan

SATUAN ACARA PERKULIAHAN PERANCANGAN DAN ANALISIS ALGORITMA ** (S1/TEKNIK INFORMATIKA) PTA 2010/2011

UNIVERSITAS GUNADARMA

A. Jangkauan Terbesar

ALGORITMA DJIKSTRA, BELLMAN-FORD, DAN FLOYD-WARSHALL UNTUK MENCARI RUTE TERPENDEK DARI SUATU GRAF

PENGGUNAAN ALGORITMA DIVIDE AND CONQUER UNTUK OPTIMASI KONVERSI BILANGAN DESIMAL KE BINER

Pemecahan Masalah Longest Increasing Subsequence Memanfaatkan Program Dinamis dan Binary Search

Pengantar Strategi Algoritmik. Oleh: Rinaldi Munir

BAB 2 LANDASAN TEORI

UNIVERSITAS GUNADARMA

Analisa dan Perancangan Algoritma. Ahmad Sabri, Dr Sesi 2: 16 Mei 2016

BAB 2 LANDASAN TEORI

PENGENALAN BINARY INDEXED TREE DAN APLIKASINYA

Pohon Indeks Biner atau Pohon Fenwick untuk menyelesaikan persoalan penjumlahan interval

PRESENTASI TUGAS AKHIR KI IMPLEMENTASI ALGORITMA PENCARIAN K JALUR SEDERHANA TERPENDEK DALAM GRAF

Penyelesaian Masalah Closest Pair dengan Algoritma Divide and Conquer

Diktat Algoritma dan Struktur Data 2

Menentukan Arah Pukulan Terbaik dalam Pertandingan Bulutangkis Kategori Tunggal dengan Teori Graf Terbalik

Penerapan Algoritma Runut-Balik dan Graf dalam Pemecahan Knight s Tour

Penerapan Algoritma Brute Force di Permainan Nonogram

Strategi Optimized Brute Force Pada Tent Puzzle Solver

SISTEM DIGITAL Dalam Kehidupan Sehari-hari PADA KALKULATOR

Algoritma Enkripsi Baku Tingkat Lanjut

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Bagi peserta OSN 2014 dan calon peserta Open OSN William Gozali, Teknis OSN

Elvira Firdausi Nuzula, Purwanto, dan Lucky Tri Oktoviana Universitas Negeri Malang

BAB 2 LANDASAN TEORI

Penyelesaian Sum of Subset Problem dengan Dynamic Programming

Penerapan Algoritma Brute Force dan Backtracking pada Permainan Skycraper


Aplikasi Algoritma Brute Force Pada Knight s Tour Problem

VISUALISASI PENCARIAN LINTASAN TERPENDEK ALGORITMA FLOYD- WARSHALL DAN DIJKSTRA MENGGUNAKAN TEX

Berkas Soal Final Competitive Programming Tingkat SMA. CompFest Kontributor: Irwan Mulyawan Ricky Suryadharma Verdiyanto Saputra William Gozali

Algoritma Divide and Conquer. (Bagian 2)

matematika PEMINATAN Kelas X SISTEM PERTIDAKSAMAAN LINEAR DAN KUADRAT K13 A. Pertidaksamaan Linear B. Daerah Pertidaksamaan Linear

Penerapan Algoritma Brute Force pada Teka-teki Magic Square 3 x 3

Kunci Jawaban & Hint Try Out OSK 2017 Oleh : Lie, Maximilianus Maria Kolbe

ALGORITMA RUNUT-BALIK UNTUK MENGGANTIKAN ALGORITMA BRUTE FORCE DALAM PERSOALAN N-RATU

Penggunaan String Matching Dalam Mencari Kata Dalam Permainan Mencari Kata Dari Sebuah Matriks Huruf

1-1.

Penerapan Algoritma Runut-balik pada Permainan Math Maze

LANDASAN TEORI. Pada Bab ini akan diberikan istilah-istilah, definisi-definisi dan identitas-identitas

SATUAN ACARA PERKULIAHAN MATA KULIAH LOGIKA DAN ALGORITMA (MI/D3) KODE: IT SKS: 3 SKS. Kemampuan Akhir Yang Diharapkan

PENENTUAN RUTE TERPENDEK PADA OPTIMALISASI JALUR PENDISTRIBUSIAN BARANG DI PT. X DENGAN MENERAPKAN ALGORITMA FLOYD-WARSHALL

Penentuan Jarak Terpendek dan Jarak Terpendek Alternatif Menggunakan Algoritma Dijkstra Serta Estimasi Waktu Tempuh

Soal dan Jawaban Materi Graf, Pohon, dan Kompleksitas Algoritma

RESUME ALGORITMA MERGE SORT DAN REKURENS

Perbandingan Algoritma Brute Force, Divide and conquer, dan Dynamic Programming untuk Solusi Maximum Subarray Problem

NASKAH UJIAN UTAMA. JENJANG/PROG. STUDI : DIPLOMA TIGA / MANAJEMEN INFORMATIKA HARI / TANGGAL : Kamis / 18 FEBRUARI 2016

Pembahasan OSN Informatika 2017

BAB 2 LANDASAN TEORI

IF5110 Teori Komputasi. Teori Kompleksitas. (Bagian 1) Oleh: Rinaldi Munir. Program Studi Magister Informatika STEI-ITB

Penerapan Algoritma DFS pada Permainan Sudoku dengan Backtracking

BAB II TINJAUAN PUSTAKA. Kriptografi adalah ilmu sekaligus seni untuk menjaga keamanan pesan (message).

BAB II VDSL2 DAN ALGORITMA HEURISTIK

BAB 1 PENDAHULUAN. Universitas Sumatera Utara

BAB 2 LANDASAN TEORI

Pembentukan Pohon Pencarian Solusi dalam Persoalan N-Ratu (The N-Queens Problem)

BAB 2 LANDASAN TEORI

BAB 2 TINJAUAN PUSTAKA

MATEMATIKA untuk SD dan MI Kelas III

Decrease and Conquer

Penggunaan Brute Force untuk Mendeteksi Potensi Terjadinya Deadlock

Penyelesaian Barisan Rekursif dengan Kompleksitas Logaritmik Menggunakan Pemangkatan Matriks

BAB III ANALISIS KOMPLEKSITAS ALGORITMA

METODE POHON BINER HUFFMAN UNTUK KOMPRESI DATA STRING KARAKTER

Penyelesaian Game Lights Out dengan Algoritma Runut Balik

Penerapan Pohon dengan Algoritma Branch and Bound dalam Menyelesaikan N-Queen Problem

Brigida Arie Minartiningtyas, M.Kom

Penggunaan Algoritma Divide and Conquer Dalam Pewarnaan Graf

Algoritma Divide and Conquer (Bagian 2)

THE WAY OF LONGEST PALINDROME

Algoritma Radix Sort

Olimpiade Sains Nasional XI Bidang Komputer/Informatika

I. PENDAHULUAN II. DASAR TEORI. Contoh lainnya: Solusi: 0= V,1= I,2= O,3= R, 4= N,5= L,7= A,8= F,9= E.

Algoritma Kriptografi Kunci Publik. Dengan Menggunakan Prinsip Binary tree. Dan Implementasinya

ARDES : Sebuah Algortima Block Cipher Modifikasi Data Encryption Standard

BAB 1 PENDAHULUAN. Universitas Sumatera Utara

PROGRAM DINAMIS UNTUK PENENTUAN LINTASAN TERPENDEK DENGAN PENDEKATAN ALGORITMA FLOYD-WARSHALL

Matematika Diskret. Mahmud Imrona Rian Febrian Umbara RELASI. Pemodelan dan Simulasi

Transkripsi:

Pembahasan Penyisihan Competitive Programming Tingkat Mahasiswa CompFest 2013 Kontributor: Alham Fikri Aji Cakra Wishnu Wardhana Kemal Maulana Kurniawan William Gozali 1

Mudah Panggilan Akrab Alham Fikri Aji Ad hoc, string matching, brute force Soal bonus untuk penyisihan mahsiswa. Yang perlu dilakukan benar-benar dilakukan apa adanya: untuk setiap pasang orang, periksa apakah terdapat panggilan akrab yang ambigu untuk mereka. Jika ya, tambahkan jawaban dengan satu. Kompleksitas solusi O(N 2 L 2 ) cukup untuk accepted. 2

Mudah Mainan Baru Cakra Wishnu Wardhana Ad hoc, brute force Bila benar-benar dicoba semua kemungkinan mengoperasikan K giliran itu, ada 2 K langkah. Tentunya kompleksitas sampai 2 K terlalu lambat untuk accepted. Bila diteliti lebih lanjut, operasi geser kiri yang dilanjutkan geser kanan tidak merubah konfigurasi barisan. Semua kemungkinan hasil akhir yang dicapai sebenarnya setara dengan K kali geser kiri, K-2 kali geser kiri, K-4 kali geser kiri,..., K-4 kali geser kanan, K-2 kali geser kanan, dan K kali geser kanan. Sehingga hanya ada K/2 kemungkinan. Di antara semua kemungkinan itu, coba satu per satu dan ambil yang paling kecil secara leksikografis. Membandingkan dua barisan secara leksikografis dapat dilakukan dalam O(N). Karena ada K/2 kemungkinan barisan, maka kompleksitas akhirnya adalah O(NK). 3

Sedang Berti Sang Galau Kemal Maulana Kurniawan Matematika, kombinatorik, divide and conquer Perhatikan bahwa setiap bit dari N faktor keunikan itu independen terhadap bit lainnya dalam menentukan bit yang bersesuaian pada X. Jadi, cukup dihitung berapa banyak konfigurasi biner yang jika semuanya di-xor menghasilkan masing-masing bit pada x. Misalkan x i adalah bit ke-i pada X. Jika x i = 0 maka banyaknya bit 1 pada posisi ke-i dari ke-n bilangan tersebut haruslah genap. Sebaliknya, jika x i = 1 maka banyaknya bit 1 pada posisi ke-i dari ke-n bilangan tersebut haruslah ganjil. Pada kasus yang genap, banyaknya konfigurasi bit yang mungkin adalah : NC 0 + N C 2 + N C 4 +... + N C N-1 Sedangkan pada kasus yang ganjil, banyaknya konfigurasi bit yang mungkin adalah : NC 1 + N C 3 + N C 5 +... + N C N Sekarang, perhatikan bahwa : NC 0 = N C N NC 1 = N C N-1 NC 2 = N C N-2... NC N = N C 0 Sehingga sebenarnya: NC 0 + N C 2 + N C 4 +... + N C N-1 = N C 1 + N C 3 + N C 5 +... + N C N Sekarang perhatikan bahwa: NC 0 + N C 2 + N C 4 +... + N C N-1 + N C 1 + N C 3 + N C 5 +... + N C N = N C 0 + N C 1 + N C 2 +... + N C N = 2 N Oleh karena itu, N C 0 + N C 2 + N C 4 +... + N C N-1 sama dengan 2 N /2, atau 2 N-1. Demikian pula untuk NC 0 + N C 2 + N C 4 +... + N C N-1. 4

Artinya, baik x i 1 maupun 0, banyaknya kemungkinan ke-n bit itu supaya kalau di-xor-kan semua hasilnya sama dengan x i adalah 2 N-1. Karena terdapat K bit, maka total semua kemungkinan caranya adalah 2 (N-1)K. Bagaimana cara menghitung 2 (N-1)K secara efisien? Anda dapat menggunakan pemangkatan cepat dengan prinsip divide and conquer sehingga kompleksitasnya menjadi O(log NK). 5

Sedang Jual Kebun William Gozali prekomputasi, DP partial sum Cara naif memerlukan kompleksitas O(N 2 M 2 ), dimana untuk (N-M+1) 2 kemungkinan pembelian kebun kita cek satu per satu petaknya dalam O(M 2 ). Berhubung N dan M cukup besar, cara ini tidak mendapatkan accepted. Untuk mengoptimisasinya, kita perlu melihat persoalan ini bukan dari keseluruhannya. Perhatikan suatu petak yang ingin dibeli oleh pelanggan itu, misalnya petak di baris i dan kolom j. Di mana saja petak ini bisa ditempatkan pada kebun besar itu? Jawabannya adalah di petak a kolom b, yang memenuhi i a N-M+i dan j b N-M+j. Perhatikan gambar berikut: Petak di baris i kolom j hanya mungkin di tempatkan di daerah yang beri warna merah (sebelah kanan). Kita tinggal menghitung di sana ada berapa petak yang isinya berbeda dengan petak baris i kolom j yang diinginkan pembeli. Untuk itu, kita bisa menggunakan DP partial sum. Anggap ubi sebagai angka 1 dan singkong angka 0. Bila petak baris i kolom j yang diinginkan 6

pembeli adalah 1, tinggal cari berapa banyak angka 0 di daerah tersebut. Demikian pula sebaliknya. Dengan begitu, kompleksitas solusi adalah O(N 2 ) untuk membuat tabel partial sum, ditambah perhitungan petak salah yang bisa dilakukan dalam O(M 2 ). Kompleksitas akhirnya O(N 2 + M 2 ). 7

Sedang Angkutan Kota Alham Fikri Aji Graph, shortest path, Dijkstra Terdapat dua komponen biaya dalam persoalan ini, yaitu tingkat polusi udara dan waktu. Observasi yang sangat penting adalah, karena fungsi biaya (P = Ax + By) itu linier, maka perhitungannya dapat dipecah-pecah. Jadi, apabila perjalanan dilakukan dari persimpangan 1 ke persimpangan 2 dengan biaya (w, x), dilanjutkan dengan perjalanan dari persimpangan 2 ke persimpangan tujuan dengan biaya (y, z), maka biayanya dapat dihitung dengan P = (Aw + Bx) + (Ay + Bz). Hal ini juga berlaku apabila perjalanan yang dilakukan lebih dari 2 tahap. Dengan begitu, dua komponen biaya tinggal disatukan untuk setiap edge, lalu persoalan ini tereduksi menjadi persoalan shortest path yang klasik. Anda dapat menggunakan algoritma seperti Dijkstra atau Floyd Warshall (karena banyaknya node hanya sedikit). Kompleksitas solusi bergantung dengan algoritma yang Anda gunakan. Dengan Dijkstra, kompleksitasnya O(E log (V + E)) atau O(V 2 ), sementara dengan Floyd Warshall didapat O(V 3 ). Keduanya cukup untuk mendapatkan accepted. 8