Thursday, 31 January 2013

UVa 12384 - Span

Saya akan membahas sebuah persoalan yang menarik, bersumber dari UVa 12384 - Span. Deskripsi soal yang singkat, padat, dan jelas itu mungkin sedikit membingungkan. Pastikan anda mengerti maksud soal atau setidaknya mampu membaca notasi matematikanya. Sebagai informasi, jika A adalah sebuah himpunan, maka |A| menunjukkan banyaknya elemen di dalam himpunan A.

Saya akan merubah cerita soal tersebut sehingga tidak terlalu matematis. Misalkan array X menampung tinggi badan orang dalam sebuah barisan, dari paling depan hingga paling belakang. Setiap orang di barisan menghadap ke depan. Orang di barisan ke-i dapat melihat orang di barisan ke-j, apabila semua orang yang berada di antara i dan j (termasuk i dan j) lebih pendek atau sama dengan tinggi orang ke-i. Lalu S[i] akan menunjukkan banyaknya orang yang dapat dilihat orang ke-i. Nah tugas kita berikutnya adalah menghitung nilai dari (S[1] + S[2] + ... + S[n]) mod m.

Sunday, 13 January 2013

Halo Dunia

Halo dunia! Perkenalkan saya, William Gozali!

Setelah tertunda bertahun-tahun, akhirnya saya memulai menulis blog! Mari kita mulai dengan berbincang-bincang tentang mengapa saya menulis blog, apa saja yang akan ada di blog ini, dan apa harapan saya dengan adanya blog ini.

Sudah sejak zaman batu saya hidup dibantu orang lain. Pas lahir, orang tua dibantu dokter. Pas bayi, makan dibantu orang tua. Pas bocah, belajar dibantu orang yang lebih tua. Hingga akhirnya pada suatu saat saya berhadapan di pintu gerbang keagungan: internet.

Di internet, saya sangat terbantu! Ketika ada tugas sekolah yang referensinya sulit dicari, internet membantu saya. Ketika saya ingin belajar ilmu akuarium, internet membantu saya. Ketika saya ingin menjalankan praktikum, internet membantu saya. Namun seperti yang saya tulis di paragraf sebelumnya, internet adalah sebuah pintu gerbang. Pintu gerbang ke mana? Ke tulisan orang lain yang bermanfaat! Meskipun tidak semuanya bermanfaat, tetapi kita bisa memilih mau ke arah mana internet membawa kita. Hasilnya, saya banyak terbantu karena adanya tulisan-tulisan bermanfaat dari orang lain. Untuk membalas budi mereka, saya sendiri pun akan menulis tulisan yang bermanfaat!

Judul dari blog ini adalah "Kupas Kode". Mungkin anda akan bertanya "mengapa demikian?"

Kupas adalah aktivitas berhubungan dengan buah yang kulitnya tidak bisa dimakan. Kalau buah itu dilihat dari luar saja, kita tidak tahu apa yang bisa didapatkan. Apakah rasanya manis? Apakah asam, tetapi sangat bernutrisi? Untuk itu buahnya perlu pelan-pelan dibuka, lalu dirasakan, sampai dicerna. Seperti buah ini, ilmu pun demikian. Saya akan membahas ilmu-ilmu yang saya miliki dari kulit luar, sampai ke dalam-dalamnya.

Saya masih anak muda (setidaknya saat menulis tulisan ini), belum punya gelar keilmuan tertentu. Namun ada hal yang saya miliki dan saya rasa akan bermanfaat, yaitu pengalaman di kompetisi pemrograman (atau populer dengan istilah competitive programming). Saya akan mengisi blog ini dengan pembahasan soal-soal competitive programming yang menarik atau jarang ada pembahasannya di internet, ditambah sampingan-sampingan seperti pengalaman hidup, pemikiran pribadi, dan hal lainnya.

Dengan harapan bahwa suatu saat nanti blog ini akan kaya manfaat, saya akan berusaha mengisi blog ini dengan artikel bermanfaat!

Sekian tulisan pertama saya. Salam sejahtera.