Skip to main content

Jurnal Pelatnas 1 TOKI 2018, Minggu Keempat: Perubahan

Wah, sudah minggu ke 4 saja. waktu disini terasa begitu cepat. seminggu lagi saja sudah pulang dan aku baru nyadar kalau aku belum beli tiket pesawat. selow life.

sudah 3 minggu aku menjabat jadi ketua kelas. aku gak ngerti kenapa tiap tahun jabatan "ketua kelas" itu horror dan gaada yang mau, padahal terhormat dan seru banget!. trus baru ditetapkan tentang aturan pasti tentang ngeblog saat pelatnas jadi saya mohon maaf bagi yang berminat pada soal pelatnas mungkin untuk menikmatinya memang harus  dapet medali OSN dulu :P.  tapi tenang! aku membahas kegiatan-kegiatan ekstra yang sebenernya banyak.

oiya di minggu ke empat ini, permainan werewolf sudah digantikan oleh suatu game yang namanya gartic.io

selamat menikmati.

Senin, 16 Oktober 2017

Bangun bagi seperti biasa, terus mandi dll. gaada euforia apa-apa karena kemaren aku tidurnya lumayan cepet. sampai di lobby aku lihat jalanan kosong melompong. tiba-tiba saja mobilnya Jokowi bersama puluhan pengawal keluar dari kebun raya. aku cepet-cepet mau foto mobilnya namun didesak di pintu keluar sama orang. ya akhirnya ga dapet deh. setiap senin selalu ada kejadian seperti ini namun karena minggu depan aku sudah tiada, inilah kesempatan terakhir untuk dapat foto :( wasted.

di lobby juga ada penampakan pengajar kita hari ini. senin seperti biasa selalu dijamin ada kesegaran yaitu pengajar baru. tapi kakak yang ini kayaknya kenal. oh inget itu kakak imba yang ngebantai saya di UPC setahun yang tahun yang lalu .___. saya cuman ac 1 tahu-tahu dia sudah ac 6. ternyata namanya Kak Christopher Samuel atau temen-temenku biasa manggil Kak Christo.

ya ada 2 orang yang telat, dan sudah ngaret parah. jadi aku bilang ke temen-temen di lobby.
"JAM 7.40 BERANGKAT"
*langsung liat jam HP, eh sudah jam 7.40*
"JAM 7.41 BERANGKAT"

tepat pukul 7.41, kita berangkat ke IPB. nah kita nyampai sekitar pukul 7.55. saat semua nyampe aku bilang sama Kak Christo namun terkacangi dan dia lihat HP. setelah kupikir-pikir ternyata dia nunggu tepat jam 8. On time! sepertinya Kakak ini menjujung integritas yang tinggi.

materi hari ini tentang Sparse table. kebetulan aku sudah ngerti caranya make jadi materi ini kulewati dengan mudah.  Kak Christo juga memecahkan 2 rekor: slide terpendek dengan total 13 slide dan durasi terpendek yaitu 17 menit, menggusur posisi yang sebelumnya  dipegang oleh Kak Ayaz yaitu (~35 menit). Slidenya pendek bener-bener terasa bagiku, karena selama 3 minggu terakhir ini slide-slidenya selalu 60+ jadi ketika panjang slide 5x lebih sedikit ya jelaslah terasa banget.

saat jelasin DFS, Hocky ngeluarin ide apa gitu aku ga ngerti tapi kelihatannya menarik.. ketika disuruh jelasin malah mundur. yah aku kecewa :(

akhirnya untuk melewati waktu, dicarikanlah soal CF level E. yaitu soal "blood cousins" entahlah males nyari cf berapa. nahini, gaada yang bisa akhirnya buka editorial di LCD. keren banget caranya, karena aku ngerti jadi aku jelasin di papan dan kelihatannya sukses buat semua orang ngerti.  lalu snack, hari ini lemper! favoritku. lanjut latihan deh.

ya ada 4 soal dan semuanya intended pake sparse table (iyalah materinya sparse table).

aku memiliki pengalaman unik saat ngerjain soal C hari ini. jadi soalnya kalau sudah di reduce jadi diberikan array berukuran N yang isinya cuman mungkin 0-3 trus dalam suatu langkah arraynya bs di transformasiin dengan cara elemen ke i diubah menjadi nilai xor dari elemen ke i dan i+1 (siklik) trus diminta nentuin kapan isi arraynya semua  0. nah aku setelah bruteforce semua kemungkinan array yang berukuran 4, aku perhatiin bahwa nilainya kecil banget. trus buat observasi menggunakan properti xor aku dapet bahwa apabila setelah iterasi ke 6, dia belum 0 semua, maka peluang dia gak memiliki jawaban (alias -1) itu mendekati 1. ini random tc lho ya, aku rasa kalau tcnya disengaja bisa lah gagalin (kalau ini salah). karena Nnya cuman sampe sejuta masih ga TLE jugaan kalau aku coba sampe 10 iterasi (main aman lah) dan kalau belum nemu aku cout -1. submit dan...

AC.

ok, aku tau memang peluangnya mendekati 1, tapi aku ga nyangka kalau jangan-jangan bisa di proof kalau memang beneran 1. aku akhirnya berminat proofing dan gagal. akhirnya aku percayakan pada teknik proofing paling valid di Informatika: proof by submission.

trus ini sudah AC 2, asik-asik ngerjain soal D yang sekilas merupakan soal convex hull?! tiba-tiba ada announcement kalau soal C di rejudge. "test case untuk soal C sudah ditambah dan sedang dilakukan rejudge, terima kasih". entah kenapa aku ngerasa terima kasih ini buatku. aku cek dan solusi Cku sudah turun dari 100 menjadi wrong answer 20. di suatu sisi, aku merasa lega karena ternyata solusiku haram dan gaada "super magic proof" kalau itu bener, namun di lain sisi, waktunya sisa lagi 3 jam cuy, dan ini artinya aku perlu ngerjain 3 soal.

akhirnya aku telantarkan dulu soal D untuk coba ackan dengan benar. nemu polanya yang benar dan aku ackan, kali ini dengan solusi yang lebih intended(?). tetep ga intended sih rasanya soalnya gapake sparse table :v.

waktu habis, dan aku cuman AC 2. soal Bku 0 :(. dapet 0 adalah suatu hal yang sangat memalukan. tidak apa masih ada esok hari. pembahasan balik lagi, cihuy.

jadi yang bahas kali ini ialah yang first AC soal tersebut. pertama soal A di skip karena katanya semua sudah AC. trus soal D, dibawakan oleh amnu. amfun first solve D. ternyata ini bukan convex hull melainkan tree!. tiba saatnya bahas soal C, pertama pandangan Kak Christo tertuju padaku namun dia ingat walau aku yang AC pertama, namun ACnya dengan haram dan yang pertama acnya halal adalah Andrew T. namun dia tidak bisa hadir karena mengejar rating CF maka akhirnya akulah yang membawakan pembahasannya. coba kalau acku yang pertama halal, bakal ngakak-ngakak lah bawa pembahasannya, sekarang jadi ga seru harus buktiin pola-pola. Kak Christo pun terkejut saat liat submissionku, reaksinya "what de fak, ini kok bisa AC?" dan saking haramnya akhirnya Kak Agus buat TC juga. biasanya direlakan saja ._.

saat aku lagi bahas aku disuruh cepetan sama temen-temenku. aku kira mereka mulai gasuka sama aku, ternyata cuman lagi ingin berburu rating CF. aku tanya CF jam berapa dan katanya jam 6.05. kulihat waktu menunjukkan jam 6. maka aku jelaskan secepat kilat, sayangnya sama aja, gabisa daftar lagi xD.

yaudahlah balik ke hotel, trus melakukan hal-hal hotel. lalu aku baru nyadar kalau aku belum masukin foto minggu 3, dan hari minggunya masih belum kutulis sama sekali :(. waduh bakal lembur nih. fighting!!

QOTD:
"awas nilaimu epsilon" -Tama

Selasa, 17 Oktober 2017

Tak terasa, ini adalah hari materi kedua terakhir di pelatnas 1 tahun ini. dari melihat line-up 3 materi terakhir sepertinya aku bakal suka, karena struktur data adalah favoritku. aku selalu ngecek-ngecek paper IOI trus kalau ada yang tentang strukdat selalu saya baca, keren banget. seperti sekarang sudah ditemukan BIT yang bisa "hampir" semua query dasar :O (range minimum, maximum, sum, dll).

baiklah, lanjut ke topik. seperti biasa, makan dll. hari ini saat sarapan tumben banget ayamnya habis. jadi aku mondar-mandir di tempat ngambil makanan, ketika ada mbak dateng ngambil tempat ayamnya aku seneng "yes bentar lagi di isi ulang". makan deh.

Hari ini aku perhatiin bahwa yang biasa telat sudah gak telat lagi, namun pasti ada saja yang telat. karena sudah lumayan ngaret (7.46) dan gak banget kalau kita nungguin 3 orang, akhirnya berangkatt. (bahkan ada yang katanya belum bangun ._.).

Materi hari ini adalah tentang query update (aka segment tree dan BIT/fenwick tree). ini menurutku dasar gitu dan beberapa peserta bahkan sudah tau dari sebelum OSN. harusnya ini masuk silabus OSN saja >:) yakali "basic data struktur" kita di OSN stack,queue. harusnya iniii. kan ini dipake fondasi untuk ngesolve sebuah kelas problem yang baru. Materi hari ini dibawakan oleh Kak Felix Jingga lagi, sebelumnya Kak Felix sudah dapat ngajar minggu lalu yaitu saat materi Convex hull namun anehnya temen-temenku tetep minta perkenalan diri lagi (dan dia mau).

Materi hari ini memang utamanya BIT dan segment tree, namun yang dibahas ga cuman itu. diajarin caranya ga overkill problem. seperti kalau diketahui updatenya diawal doang, ya jangan dihajar pake segment tree :v.

saat lagi materi, ada Kak Christo yang juga mengikuti di belakang. Kak Felix cerita kalau Kak Christo itu suka banget sama BIT, katanya apa-apa pake BIT. wah ada kesamaan lagi.

ketika saatnya belajar Lazy Propagation, mulai terdengar lamunan-lamunan malas, ada yang bilang lazy propagation itu horror dll. padahal menurutku biasa aja kok.

 aku sih secara pribadi lebih suka BIT, karena strukturnya yang unik dan banyak banget eksploitasinya. sangat disayangkan karena kodenya pendek kebanyakan lebih menganjurkan untuk "menghapal" kode BIT daripada repot-repot mengertikan. padahal dengan mengertikan BIT, kita bisa membuka pintu ke banyak hal-hal hebat. seperti binary search BIT, dan BIT range minimum query yang aku singgung di awal.

Kak Felix dapet bilang RMQ gabisa dijawab pake BIT, trus pas sesi tanya-jawab aku bilang kalau udh ditemuin BIT yang bisa jawab RMQ namun malah dikuliahin kalau bakal ribet, dll dan saat kamu mikirin inklusi-ekslusinya, orang lain pasti sudah AC menggunakan segment tree :(. padahal simple kokkk. jadi aku bahas disini saja.



OK, selesai materi saatnya latihan. soal latihan TOKI ini selama ini bisa buat soal sulit walaupun konsep mudah, (paling berkesan waktu soal MST sih). jadi aku sudah tak sabar melihat soal-soal yang akan disajikan.

saat baca soal, yah... 2 soal tersulit sudah pernah kukerjakan sebelumnya :(. soal yang intendednya tersulit aku pernah kerjain versi yang lebih sulit yaitu soal CF Div2 E. kalau soal ini intinya updatenya range ditambah 1, kalau CF rangenya bisa ditambah X (X<=100000). masih teringat dengan jelas solusiku untuk soal itu. waktu itu aku lagi ngeCF bareng Kezia trus dia AC dan aku liat lah sourcecodenya dan terpukau karena solusinya elegan.

yah tapi karena ngodingnya agak ribet, (node segtreenya matriks .-.) maka aku simpen di akhir saja. ya soal A,B yang belum pernah kukerjain ternyata soal mudah. B sempet kzl sih soalnya WA-WA mulu padahal sudah jelas solusinya, bahkan BF WA. taunya modulonya diganti dan aku ga refresh.

ya aku makan siang trus balik ngoding, karena pingin ambis hari-hari terakhir materi ini.
sebelum itu seperti biasa melakukan ritual ngereceh
Galang: "nasi apa yang bikin kangen?"
jawab: whenasi your face

Kak Nino: "restoran apa yang ga baik?"
jawab: pitjahat

trus aku juga merhatiin Pak Auzi dan Kak Felix lagi belajar juggling.

soal C karena sudah pernah ngerjain jadi mudah dan cepet AC, tibalah saatnya soal D. ya aku buat banyak fungsi lah biar mudah dan ngurangin bug. koding-koding dan TLE?!. aku pikir segment treeku ngebug taunya enggak kok, dan memang aku coba test 100000 query memang rada lambat gitu di komputer. tenryata ini gara-gara aku buat matriks pake vector dan push_back segala jadi lambat. aku ganti array dan AC :)

Kak Christo langsung datang, dan memberi jempol.

jam 1 sudah ac semua, perlu nunggu 4,5 jam lagi :(. jadi aku menghabiskan waktu dengan memasterkan minesweeper baca materi-materi. segment tree? easy :P.

sekitar jam 4 ada pengumuman kalau jam kontes dicepetin karena mau ada latihan functional programming. dalam hati aku senang karena aku juga sudah selesai, namun temen-temenku mengeluh jadi karena aku ketua kelas makanya aku bicara mewakili temen-temenku.

jadi intinya saat simulasi 2 hari lagi, sistemnya ga pake baca input/output lagi. namun kita hanya perlu buat fungsi, mirip IOI lah. jadi dilatih dulu. namun aku bingung karena perasaan saat TOKI OPEN kita bisa generate suatu .EXE deh. disini diajarin ngopi commandnya. yaudahlah. soalnya mudah kok cuman jumlahin array sama sorting interaktif (day 0 OSN 2013).
karena sudah stress BIT dan segment tree, ada yang bilang
"soal A pake BIT kan?"

trus di soal B, aku baru tau ada yang namanya stable_sort. keren.

aku membuat observasi bahwa hari ini pengajar dari Binus full squad. sepertinya bakal ada sesuatu.

ya selesai itu gaada pembahasan karena capek, balik hotel deh siap-siap besok hari terakhir materi. sampe kamar baru aku nyadar kalau aku lupa bawa makanan hari ini. untung ada popmie di kamar.

sudah lelah di prank Akbar terus


JOTD
Richard: "kalau aku punya 100 tentara, kamu punya 100 tentara, siapa yang menang?"
Galang: "nyerah"
Richard: "aku yang menang soalnya kamu menyerah"
(semua) : "ini bukan jokes receh, ini jokes tingkat tinggi"

Rabu, 18 Oktober 2017

Hari ini hari terakhir sesi materi, sebelum saatnya simulasi. benar-benar tak terasa 3 hari lagi harus pulang (dan belum belum beli tiket).

bangun pagi aku gaenak badan, seperti ada rasa aneh di tenggorokanku. sial, pasti ini gara-gara popmie kemaren. karena kemaren setelah makan aku merasakan sensasi ini, tapi kukira itu sementara karena bumbunya doang.

selesai melakukan rutinitas, saatnya berangkat... materi terakhir untuk pelatnas 1 ini adalah SQRT decomposition. ada 3 topik.
-SQRT decomposition on array
-Mo algorithm
-update pending

aku sendiri udah pernaah denger 2 teratas, namun gapernah tau yang terakhir. kenapa? gapernah nemun soal yg make. pengajar hari ini, ada Kak Rafael dan Kak Christo. Kak Rafael bawain Mo's algorithm dan SQRT decomposition on array, sedangkan Kak Christo bawain update pending. walapupun udah tau  materinya Kak Rafael, aku tetep nambahin beberapa hal baru, terutama dalam masalah implementasi karena implementasi SQRTku jelek banget :( .

lalu, saat update pending ini aku tunggu-tunggu. ini sangat menarik. jadi dengan gabungin 2 metode kita bisa dapet yang kompleksitasnya lebih kecil. kerennn. namun aku ngerasa untuk ningkatin nalar metode ini dan coba request soal yang lebih susah, namun katanya susah nyari soal tipe ini. aku inget ada soal TOC lama yaitu "cerpen klungs dan ucup" dan inget tagsnya MO algorithm dan update pending. maka aku coba tanyain dan akhirnya itu deh dibahas. link soal: https://training.ia-toki.org/problemsets/58/problems/282/

nah ini karena deskripsi soalnya unik, Kak Christo dan Kak Rafael akhirnya mementaskan ceritanya.

"Ini kok Klungs mendominasi?"

jadi seru lah soalnya, apalagi nada dan intonasinya pas. sampai link wikipedianya pun dibaca. skill improvisasinya mantap!.

belakangan ini juga ada kebiasaan baru yaitu main jenga menggunakan kotak snack karena sekarang penataannya menggoda.




Akbar yang ngancurin :(

trus ini juga lumayan cepet selesainya, jadi sambil nunggu dikasi tau game-game keren sama Kak Rafael dan Kak Christo yaitu minesweeper 3D dan canvas rider.

latihan deh. aku bakal ekspektasi soalnya susah karena SQRT ini jangkauannya luas.

...dan memang susah.

ada sih soal solveable satu, yang tekniknya sangat mirip dengan yang dijelaskan di slide. sisanya super susah. aku denger Salman dan Yoga senyum-senyum seperti bilang ada soal yang ngambil SPOJ. sayangnya aku gatau yang mana dan soalnya apa.

setelah makan siang akhirnya aku nemu solusi untuk soal kedua setelah manipulasi matematik dengan teknik tingkat lanjutan, yaitu substitusi. jadi soalnya menjadi mudah dan aku berhasil mendapat AC. aku rasa ini bakal susah di ackan orang, apalagi mengingat perumusan matematika yang harus kulewati. untuk soal C, aku coba searching problem SQRT decomposition on graph biar dapet gambaran observasi apa saja yang biasa dilakukan di SQRT graph. malah nemu soal C ini, di CF :O, lucky!. buka editorial saja karena waktu tinggal 30 menit. ternyata optimisasinya mudah, kukoding, dan AC!!. skorku hari ini 330.

aku kecewa karena soal SPOJ tersebut adalah soal D, yang aku perlu observasi matematik untuk nyelesaiin. :(. banyak yang ac soal tersebut.

selesai latihan, orang ngelupain ambil bakpaonya. enak banget jadi aku ambil semua bakpaonya. lembut gitu.



besok kuis, dan karena sakit, malem ini aku tidur lebih awal (jam 8). malem ini ada penurunan laundry terakhir, karena aku benar-benar lemas, maka aku berikan kepercayaan ini kepada temanku Tama.

Tama gak mau, katanya gak pernah megang uang. Maka aku berikan kepada temanku Rama. mantap dia mau. teman-teman baliku memang bisa diandalkan. aku pun tidur dengan tenang.

QOTD
Salman: "Yog, aku nemu situs belajar bagus"
(hening)
Salman: "belajar SBMPTN"

Kamis, 19 Oktober 2017

hari simulasi telah tiba. simulasi ini bobotnya gede banget. aku sempat mengekspresikan kekhawatiranku tentang sakitku ini, namun orang bilang tenang saja aku pasti lolos. namun kalau kuhitung tidak demikian. kalau simulasiku 0, maka aku sudah pasti tidak lolos.

yaudahlah bangun pagi seperti biasa. terus sarapan, berangkat deh. aku sudah enakan setelah makan ayam sarapan yang sangat enak. tetep sakit sih. untuk pertama kalinya setelah 3 minggu, aku pakai jaketku lagi.

nah, saatnya berangkat. langsung ke lab saja. berbeda dengan kuis, setelah dapet password boleh langsung masuk. cihuy. sama seperti kuis, untuk simulasi kita menggunakan account komputer khusus yaitu "pelatnas" untuk berjaga-jaga dan agar isi komputer steril.

aku dapet kursi yang sama dengan saat kuis minggu lalu. secara mengejutkan kodinganku minggu lalu saat kuis masih ada. wah ga dihapus, bahaya nih. temen dudukku beda sih, aku duduk di sebelahnya Rania. aku nyeduh teh hangat, mendingan lah badanku.

---simulasi dimulai

yah aku baca ketiga soal. pendek-pendek semua sih setidaknya. aku paling tertarik sama soal B karena bau data structure. namun aku nyampah C dulu karena lumayan brute force 60 poin. sempet ngebug karena masih main std::upper_bound sama lower_bound. akhirnya karena kesel, aku buat fungsi range sendiri. inrange(vector<int> v, int l, int r) yang tugasnya mencari banyaknya elemen yang berada di [l,r] pada v. (waktu : ~90 menit).

terus aku kerjain A. nemu algoritma simple yang bisa AC. intinya disini ada 2 "action" yang bisa dilakukan, pencet tombol, atau bergerak. tiap action dihitung 1 unit.

kukoding dan tes lokal malah query limit exceeded. debug-debug dan gadapet-dapet. padahal aku udah cout tiap kali gerak dan cuman pake 66 gerakan, kok query limit yah. nah ini tak terasa sudah lama banget debugnya. sampe-sampe aku debug program gradernya dan buat grader sendiri. tetap saja QLE. setelah pasang ratusan debug, aku sadar kalau counter querynya naik saat aku pencet tombol?.

LAH TERNYATA PENCET TOMBOL DIHITUNG BERGERAK!. 3 jam terbuang sia-sia. ini seperti OSN daratan dan es terulang lagi. jadi memang algoku seharusnya QLE karena memang makan banyak. karena aku malas buat algo yang benar-benar baru, maka aku optimisasi algoritmaku pake sparse table agar banyaknya langkah berkurang 25%. dan aclah. (waktu : 3 jam , 30 menit -_-)

waktu tinggal 1 jam, soal B belum tersentuh. yang pasti bisa nyampah subsoal 2 pake segment tree. jadi sampah dulu. trus aku bingung mau lanjutin atau ga, karena soal C kelihatanya solveable. sampai akhir bingung, dan ga ac kedua-duanya. nilaiku 196 (100 + 39 + 60)
---kontes selesai.

Inigo fullscore, dan katanya sudah dari 3 jam pertama. amfun. trus ada juga banyak orang yang lebih tinggi dari aku. seperti Yoga (260) dan Amnu (236). tapi ini bisa lebih parah kok.
nyaris, gara-gara sakit ini bisa aja nilaiku 20 kalau gagal debug yang A. jadi aku bersyukur masih dikasi kesempatan dapet nilai yang masuk akal.

Akbar mendapat nilai yang tinggu, dan dibully lagi. kasihan juga Akbar, kecil salah, gede salah. ada beberapa yang berencana ke botani dan aku gaikut karena harus istirahat. sampai kamar, aku baru sadar kalau bisa saja Alvin ikut ke botani. aku ketok saja pintu dan dibuka!. mantappp.

ya aku mulai tidur siang yang lama. sebelumnya aku nonton acara marah-marahnya Gordon Ramsay dulu sih... (aku tidur jam 4)

bangun-bangun sudah jam 6.30 saja. jadi melakukan hal-hal. (aku lupa apa yang kulakukan kok bisa tiba-tiba saja jam 12 saat aku nulis blog ini).

trus aku baru sadar kalau 2 hari lagi pelatnas, dan belum beli tiket. secepatnya aku ke kamar Tama. karena HPku rusak gabisa nelpon maka aku mengandalkan Tama. nah Tama ini maunya yang murah karena dapet uang transport jadi bisa untung gitu. padahal akusih asal ga bayar bisa aja, naik garuda. nasibnya akhirnya gatau. padahal uang transport itu buat transportasi bukan untuk disimpen :/ memang otak bisnis.


QOTD
(ngomongin solusi 39 poin soal B)
Amnu: "aku pake sqrt, update pending, priority queue, vector, sort. kamu pake apa?"
Galang: "segment tree..."

Jumat, 20 Oktober 2017

Hari ini jadwalnya kontes practice. mungkin sebagai refreshing setelah simulasi kemaren(?). oh iya hari ini sarapan ikannya enak banget, rasa keju-keju gitu.

selesai melakukan rutinitas pagi, langsung saja ke lab. contest practicenya jawab soal CF 182 yang divisi 2.

saat mau di akhir pelatnas ini, aku baru tau bahwa ada orang-orang yang "curang" dalam memilih tempat duduk dan selalu mengincar ruangan B. karena aku selalu tiba awal-awal dan selalu ngambil apa adanya. ribet banget sih mikirnya. tapi hari ini ruangan B internetnya mati jadi mereka ngungsi ke A :P.

kontes practiceku: parah.
aku berhasil jawab A,B dengan cepat. namun gabisa jawab C,D,E sampai akhir sedangkan yang lain bisa AC sampai D. gatau karena lagi sakit atau karena memang cupu. jadi aku peringkat terakhir. aku pun khawatir akan ga lolos.

Tama: "kuis udah bagus, latian udah bagus, simulasi bagus, semua sudah bagus masa gak lolos?"
Galang: "kontes practiceku jelek..."

ada repeating gitulah jadi aku bisa ackan soal D. trus ada istirahat (acara bebas(?)) selama 2 jam. nah ini aku pakai untuk nyoba game baru yaitu diep.io. ini ternyata seru parah. aku juga main "adu gajah" sama Rama dan Tama, lupa situsnya tapi seru juga, intinya sih kita ngirim-ngirim gajah terus diadu.

setelah dua jam, katanya ada acara "perdendangan". aku kira itu semacam nyanyi maka aku himbau temen-temenku untuk ingetin mars dengklek saat OSN. acaranya diadakan di ruangan tempat biasa materi.

saat mau berankat, di depan lab ada sesuatu...



malah dijadiin atraksi. maunya kita tinggal pelan-pelan, namun ada yang bangunin juga akhirnya
kalau ditinggal, kaya masa-masa SD saja ketiduran pas pulang -> ditinggal.


saat aku tiba di ruangan, aku terkejut karena ada angklung!!. wah ini sangat tidak terduga.

 sedikit informasi: aku pemain angklung kelas internasional, saat aku SD kelas 6 kebetulan IMC diadakan di Bali dan panitianya nyari talenta lokal. nah mungkin panitia denger ada yang namanya "galang" yang jago angklung jadi aku diundang deh untuk ngisi acara :).

jadi aku gasabar deh mau mamerin skill angklungku ke para mastah. dalam waktu 90 menit ini, kita diajarkan 2 lagu, yaitu pileuleuyan dan manuk dadali. Pak Rully dan pembina TOKI lainnya juga ikut main, jadi berasa makin dekat. seperti biasa ada saja dicampur dengan istilah komputer

*lewat satu baris*
"Subtask 1 lewat*

*lewat dua baris*
"Subtask 2 lewat"

*salah mainin nada di akhir-akhir*
"Wrong answer on last testcase"

*panitianya nyadar bahwa ada not re tinggi sedangkan ga nyediain angklung re tinggi*
"Segmentation fault core dumped"

*akhirnya lagunya selesai*
"ACCEPTED!!"

*panitia nambahin intro di lagu manuk dadali*
"TC ditambah"

namun karena temen-temenku ini pemain pemula jadi aku berasa bosen jadi ingin cepet selesai. aku juga merhatiin ada yang ga serius :(. yaudah jadi jam setengah 3 main angklung selesai. dibagiin baju TOKI deh. bajunya si Steven XXXXL. aku penasaran itu segede apa.


MUAT!

an kita berhasil menguasai dua lagu tersebut. balik dari sana aku tidur siang.

malemnya aku ngambis, karena aku pingin banget lolos ke pelatnas 2. dilain pihak, terjadi kegabutan yang luar biasa di antara temen-temenku. multichat yang awalnya cuman bahas gartic doang jadi ribut banget. hocky ngundang orang yang bukan peserta pelatnas trus baru sadar kalau gabisa kick di MPC. kacek kacek.

QOTD
(nada Refindo) "ayo main gartic"

Sabtu, 21 Oktober 2017

Hari terakhir!!! aku bangun telat...

tapi aku sudah biasa. aku mandi dulu, trus makan. siap-siap deh. Perlu diingat aku masih sakit, namun sudah baikan. nah aku sarapan ngambil sirup, trus dicidoek kok sakit minum dingin. kubilang sudah mendingan. saat sarapan ketemu banyak pembina TOKI seperti Bu Inge, Pak Rully, dan Pak Adi.

selesai sarapan ya langsung turun aja sih. trus setelah lengkap jalan untuk terakhir kalinya ke Lab kaca. ngambil nomor dan duduk manis main minesweeper sambil nunggu. simulasi 2 akan segera dimulai! aku agak takut karena soal simulasi 2 terkenal susah.

oiya aku menyadari bahwa password kontesku sama seperti password kontes saat simulasi 1. hm.
---kontes dimulai.

baca soal A. kok mudah yah :|. soalnya mirip soal reduksi pesan namun diisi updates. taunya susahan reduksi pesan jir. koding dan 10 menit dh oneshot AC.

soal B, saat aku baca, aku ga percaya. ini soal kan classical .-.. setelah 10 menitan nyoba nyari deskripsi menjebaknya, aku akhirnya koding solusi classicnya. berharap dapet WA atau apalah. yah, malah AC. jadi aku 30 menit sudah AC 2 dari 3 soal...

mungkin saja sih dikasi dua soal diatas karena soal ketiga bakal gila. dan bener saja.  aku membuat observasi doang sudah habis 3 jam. setelah ngumpul-ngumpulin observasi-observasi krusial, aku menyimpulkan ini bisa di solve pake 5 fungsi DFS berbeda. koding, test tiap DFS work gak. pokoknya pelan-pelan deh implementasinya. karena kalau lansung bakal berabe.

setelah 1 jam koding dengan perlahan. aku bisa ac sample, ku submit, dan ACC!!. mantap perfect score, waktuku lagi 1 jam. aku keluar ambil snack trus pura-pura ngerjain. aku mau pangkas kodeku dikit, karena masih ada bekas sparse table sampahan subtask 1. setelah aku bersihin kok malah ngebug. debugnya setengah jam -_-. bugnya konyol. demi kode yang baik dan bersih. submit dan AC lah, jelas. sebelum dipangkas -> 223 baris. setelah -> 150 baris, dan bersih:
//make adj list
dfs1(1,0);
dfs2(1,0);
dfs3(1,0);
dfs4(1,0); -> dfs5() dipanggil didalam dfs4().
return ans; //inget simulasi pake functional programming.

kulihat Salman sedang tidur diluar, dan Yoga yang senyum-senyum tenang. waduh ada 2 fullscorer lagi nih.

trus aku gabisa pura-pura ngerjain terus. maka 10 menit terakhir kulewati dengan tidur di ruangan. waktu habis, ditandai dengan tepuk tangan peserta. yey.
---kontes selesai

seperti yang kuduga, Salman dan Yoga 300. dan cara yoga yang soal C menggunakan segment tree. mantap. diminta makan cepet-cepet karena mau penutupan. selesai makan, ke penutupan deh. itu ruangannya di sebelah ruangan kelas. kita latihan angklung dulu, karena bakal ada orang-orang dari Dinas yang mengikuti penutupan. latihanya lagu kemaren, Pileuleuyan dan Manuk Dadali.


50... 51... 52... terus berlanjut

setelah latihan 1 jam yang melahkan, ada acara bebas yang cukup lama. ternyata karena Dinas terjebak macet.

makan siang kita... kira kira apa yah isinya

saat yang ditunggu-tunggu, penutupan. ada beberapa sambutan, terus video. nah ini ngakak karena Steven sepertinya jadi bahan lawakan karena diputer-puter terus, dan kita juga gabisa berhenti ketawa. sayangnya videonya di selesaikan setengah jalan yaitu saat senam :(. biar ontime.

selesai video, ada sambutan lagi, terus akhirnya penutupan. nah dari yang aku baca dan denger, pengumuman P1 biasanya unik dan ga straightforward. tapi kali ini sangat straightforward yaitu langsung dipanggil saja. ternyata aku lolos, aku tidak menyangka. dipanggilnya secara acak, maka daftar lolos dibawah juga diacak, namun menggunakan seed berbeda. yang lolos ke pelatnas 2 tahun ini adalah:
-Galang
-Amnu
-Yoga
-Salman
-Refindo
-Rania
-Fausta
-Phillo
-Ariell
-Andrew T
-Tama
-Benedict
-Alghi
-Hocky
-Jason
-Steven
yang satu sudah yakin bakal lolos
yang satu seneng banget ga nyangka bakal lolos


tangan misterius


full squad pelatnas 1

ketua kelas bersama panitia IPB

when u see it...
codinganku.


ya berakhir lah rangkaian pelatnas 1 tahun ini, dan dengan demikian, berakhir juga tugasku sebagai ketua kelas pelatnas 1 tahun ini. aku sih seneng banget sudah dikasi kepercayaan. maafkan ya kalau aku tegas seperti suka nyiduk orang diskusi, ya itu karena aturannya gaboleh diskusi. sampe ada kabar-kabar ga baik yang bilang itu ideku, padahal sudah dari hari pertama itu aturannya.

malemnya, ada perayaan besar. Ariell lolos dan nraktir satu pelatnas, 10 pizza 10 ayam KFC!

QOTD





Minggu, 22 Oktober 2017

Pagi-pagi aku mau bangun siang, namun sudah menjadi kebiasaan untuk bangun pagi. aku bangun jam 7 pagi tanpa alarm. dan susah banget kembali tidur.

Tama Line sekitar jam setengah 8 ngajak beli oleh-oleh, tentunya aku mau. aku sih ekspektasi bakal shoppingg gitu jadi bakal lama. maka aku tanya bakal balik  ga, keputusan akhirnya ga balik.aku packing dengan cara kilat,  aku sih punya priority_queue, mana yang harus dipastikan masuk dulu. baru cek ke hal-hal kecil. kurang lebih seperti ini
-laptop
-HP
-dompet
-buku-buku
-barang sisanya.

jadi kalau 4 barang diatas sudah masuk, ya aku sih sudah tenang dan tinggal ngescan kamar. pasti ada saja barang-barang kecil ketinggalan seperti pulpen, dll namun aku gaapa lah. (kecuali pulpen 20 ribuku, itu fix harus masuk).

catatan masa depan: saat di bandara bali baru aku sadar ninggalin 30rb dalam bentuk recehan di safebox hotel. yah, bagi staff hotel yang hoki bisa cek safebox 523.

Tama sudah nunggu di kamarku untuk cepet karena sudah ditungguin, namun aku belum sikat gigi habis sarapan dan airku habis maka aku harus ambil air di lorong namun karena Tama suruh cepet maka aku kumur pake air keran saja. aku sudah siap, namun Tama menghilang. ternyata dia lagi packing di kamarnya...

Rama gaikut karena masih tidur jadi gak tau info, dan tntunya akan terburu-buru. jadi dia tidur lagi. Yang nganter jalan-jalan itu keluarganya Tama yang tinggal di Bogor. Alumni IPB juga. sudah tradisi kalau beli oleh-oleh harus makanan agar bisa dibagi-bagi. Bogor khasnya kue lapis jadi kita ke toko kue "sangkuriang". beli kue lapis sebentar, selesai deh beli oleh-olehnya. ga sampe 30 menit .-.

yaudah trus kumpul di Botani. aku masih sama keluarga Tama makan Bakmi GM. slesai itu aku nyari oleh-oleh untuk seseorang namun tidak ketemu yang cocok. jadi aku muter-muterin Botani 3x ga nemu. akhirnya aku melihat toko samsung yang menawarkan VR gratis.

 memang dari dulu aku sudah ngidam naik VR gratis dan toko tersebut sudah kuincer dari minggu pertama. 2 target utama yang harus kucapai selama pelatnas ini adalah naik VR dan bersepeda. salah satunya akan tercapai sebentar lagi.



seru banget. walaupun efek 4Dnya cuman digoyang kursinya, tapi sangat menyatu jadi aku merasa seperti naik rollercoaster beneran. ternyata gini toh rasanya naik VR.

selesai itu, buka hp ngecek kalau udah di spam telpon sama Tama, bingung mau diapain karena Hpku rusak, dan wifinya botani belom ketangkep. jadi aku jalan saja ke pintu keluar, ga ketemu Tama. trus aku cek daftar hotspot, nama hotspotnya Tama muncul, pertanda sudah dekat.  yaudah aku join aja dan aku line Tama dan ternyata dia nunggu di pintu masuk biasa, bukan pintu masuk saat kita masuk. yaudah deh aku kesana. sudah ditunggu oleh Rama dan Aceng juga.

aku ambil koper di mobilnya Tama, dan saat balik Rama sudah memegang nasi goreng. aku tidak sadar kalau aku lama banget ngambil koper. langsung saja ke area damri dan Aceng gajadi ikut karena gak dikasi kepastian sama temannya. saat itu sekitar jam 11.56.

di Damri ada dua pilihan bus, bus royal yang lebih mahal dan bus biasa. kalau royal itu harganya 75000 sedangkan biasa itu 50000. karena pingin cepet ke bandara maka kita pilih yang royal. saat aku mesen tiket masih sepi, tau-tau saja saat berangkat busnya full. keadaan bus:
ada senderan kursi 2 buah per kursi. dan busnya bersih.

Rama: "memang ini busnya untuk perjalanan jauh".

berangkat deh, dan aku tidur.

saat aku bangun, sudah sampai di bandara Soekarno. saat itu jam satu. maka perjalanan cuman 1 jam. prediksi meleset parah.

tiap turun pasti ada saja pengumuman di pengeras suara dalam dua bahasa, kurang lebih sebagai berikut:
"para yang terhormat, sebentar lagi kita akan sampai di terminal X, bagi penumpang yang memiliki penerbangan Y, ke Z. silahkan bersiap turun dan ingat membawa barang bawaan anda"
"shortly we will be arriving blablabla for passengers with blablabla D E R S T U V"

Galang: "we ram, itu kata yang terakhir dibilang apaan sih? yang dieja?"
Rama: "pokoknya artinya barang bawaan anda"

terminal kita diberhentikan terakhir, dan tinggal kita bertiga di bus. mungkin dianggap sudah gaada orang karena rekaman tadi ga diputer lagi. yaudah deh kita turun.

epsilon?


bandaranya sepi, jadi apa-apa cepet. di tempat x-ray lagi-lagi aku tercjidoek. tasku di cek. "oh cuman berkas yah" kata petugasnya, waduh sekarang berkas di cek!. kalau Tama beneran, guntingnya disita. aku gatau sih buat apa Tama beli gunting, mungkin buat buka bungkusan krupuk.

kita mampir dulu di tempat duduk deket TV. ada acara "locked up abroad", itu memberikan cerita orang-orang yang dipenjara saat lagi diluar negeri. kali ini ceritanya tentang bandar narkoba yang terciduk di Israel dan dipenjara 7 tahun. temen selnya pecandu produknya dan dia jadi sadar akibat perbuatannya dan dia mau membuat temennya itu terbebas dari narkoba. suatu hari, dia melihat mata temennya sudah membaik dan dia merasa berhasil, namun setelah dilihat lebih dekat, ternyata temennya mati karena overdosis. dia pun tobat.

setelah selesai di penjara, dia pindah ke Inggris dan ikut tim anti narkoba. acaranya diakhiri dengan dia keluar dari rumah mewah trus naik mobil mewahnya. dia bilang enakkan gini, kerja halal gaji gede. ada opsi lain nih bagi yang masih belum menentukan pilihan.

selesai acara itu kita ke tempat tunggu. masih ada sekitar 90 menit maka aku update blog ini. lumayan sudah selesai tinggal masukin foto. taunya aku buka lagi dan sudah kehapus T_T. padahal harusnya autosave, ternyata wifinya lelet. sial ngulang lagi nulis. untung terakhir ngesave Sabtu jadi gak banyak sih.

setelah selesai nunggu, saatnya boarding. aku gak pernah naik sriwijaya sebelumnya, maka aku penasaran seperti apa sih pesawatnya. saat masuk, keliahtan bahwa kursinya model lama, dan ternyata memang pesawatnya model lama. trus mejaku agak kotor. namun memang harganya murah dan cukup lah untuk penerbangan 2 jam. memang temen-temenku suka nyari ukup.

aku ngobrol-ngobrol aja sih. akhirnya aku teringat kotak berisi roti unyilnya Tama yang buat dibagi. ada yang bilang kalau roti itu sampai kerongkongan sudah habis, aku akan mencoba dengan tangan-mulut sendiri. ternyata (setengah(?)) bener. aku ga merasa ada gerak peristaltik di kerokongkonganku. rotinya enak, lumayan menghilangkan rasa sakit di kuping.

"foto ini gabakal lolos seleksi" -Tama


ketika mendarat, ambil bagasi. sudah tradisi bagasiku terakhir. padahal kali ini aku taro bagasinya tengah-tengah, sesudah Tama sebelum Rama, tetap saja terakhir dapetnya. yaudahlah sudah ditunggu Sukma adikku dan Papa. pulang deh.

kamar hotel sudah kujadikan rumah.
inilah kamarku yang sebenarnya :")


QOTD
"otw foya-foya uang rakyat"

Setelah pelatnas

beberapa guru ga nyadar aku sudah balik karena ga ngabsen. temen-temenku nyadar. setelah ngebantai di pelatnas, aku akhirnya di bantai juga sama temen-temenku di pelajaran seperti integral parsial dan sintesis protein. aku sebenernya bawa buku pelajaran saat pelatnas namun karena pingin banget lolos P2 jadi ga banyak kupelajari, aku cuman sempet belajar fisika doang.

hari selasa ada orasi yaitu penggantian jabatan di ekstra komputer. aku sebagai waka duduk paling depan. aku harus galak dan men sekak gitu lah. aku liat temen-temen pengurusku sudah nyiapin kertas berisi kandidat pertanyaan sedangkan aku ga dapet nyiapin pertanyaan, beberapa potongan saat aku nanya:

Galang: "tadi kamu bilang mau ngadain ekstra yang intensif, apa definisimu tentang intensif"
Cok Intan : "ekstra yang rutin dan teratur, seminggu sekali"
Galang: "seminggu sekali, berarti sebulan 4 kali?"

Galang: "sore hafiz"
Adit: "sore kak..."
(dibisikkin dari sebelah kalau ini adit)
Galang; "sore adit..."
(tapi habis itu yang nanya berikutnya ikut-ikutan salah sih)

ya itu doang sih ke gajean saat aku nanya. saat-saat lain lumayan normal kokk (mudah-mudahan).


suasana bagian depan orasi. foto diem-diem


yaudah deh aku mau berangkat lagi ke jepang hari jumat. kali ini bertepatan dengan galungan dan kuningan (libur dua minggu) jadi aman-aman saja. aku gatau bakal buat blog saat dijepang atau ga, kemungkinan sih ga karena itu liburan.

hal-hal random saat pelatnas

-dimana-mana terkover wifi, jadi aku gak beli kuota selama di Bogor. temenku Alvin nyesel beli 17 GB dan ga dipake.
-selama pelatnas aku jadi sering banget ke toilet. jadi terbiasa sampe aku balik. btw toilet pelatnas cuman 1 jadi kadang long queue.
-ga cukuran selama di pelatnas, balik-balik ditanya sama temen sekolah kok tumben gondrong rambutnya.
-keinginanku naik sepeda di Bogor belum terpenuhi
-ada jammer di lab kom, jadi gaada sinyal sama sekali disana.

Faishol buat unnoficial scoreboard dimana kita masukin nilai sendiri.
makin lama makin canggih. ada implementasi loginnya :O

-aku sering banget nelpon mas laundrynya, sampe hapal ringtone Hivinya. kadang aku inget nyanyi
"ohh kasihhku, kau membuat cinta. jatuhh dari mataaa dan turunnn"
"iya mas?"

Ya, sekian lah tulisanku saat menjalani pelatnas 1 ini. ketemu orang-orang Gege, berada di suasana yang berbeda, ini merupakan sebulan yang tak terlupakan bagiku. nanti saat pelatnas 2, aku bakal nulis lagi kok (pasti!). ya ditunggu aja.

SELESAI

Comments

Popular posts from this blog

Intern Semester 1: AI Engineer di GDP Labs

Intern atau magang, suatu kegiatan untuk merasakan suasana kantor. Daripada tidur-tiduran ngewibu gajelas selama sebulan, lebih baik ngoding 8 jam sehari di kantor kan?
Pertama tahu GDP Labs dari lomba BNPCHS 2017. Waktu penutupan, Pak On Lee, CEO GDP Labs, bawa seminar. Terus kan di akhir acara aku kenalan dan dikasih kartu nama :D
Aku awalnya berminat mau magang semester 2, namun temenku Rania semester 0 udah magang di GDP Labs. Aku jadinya daftar magang winter sebagai AI Engineer dan keterima :) Aku ditaro di bagian GLAIR (GDP Labs Artificial Intelligence Research).
Bagian-bagian dari blog ini: - Tentang GDP Labs - Kosa Kata Machine Learning - Onboarding (19 Desember 2018) - Minggu Pertama (26 - 28 Desember 2018) - Minggu Kedua (2 - 4 Januari 2018) - Minggu Ketiga (7 - 11 Januari 2018) - Minggu Keempat (14 - 18 Januari 2018) - Minggu Kelima (21 - 25 Januari 2018) - Minggu Keenam (28 - 31 Januari 2018)
- Penutup
Iklan Sejenak Tentang GDP Labs
GDP Labs itu bagian dari GDP Venture. GDP…

Mengikuti ICPC 2018

ah, ICPC. Singkatan dari International Collegiate Programming Contest. Perlombaan paling bergengsi untuk anak kuliahan. UI sendiri cukup aktif mengikuti perlombaan ini. Aku sebagai Maba dapat kesempatan untuk mengikuti lomba ini dan dapat keluar negeri juga. hehe. Berikut cerita ICPCku tahun ini. Selamat menikmati.

Pembentukan Tim


Di UI ada seleksi untuk pembentukan tim ICPC yang nantinya akan mewakili UI ke regional yang ke luar negeri. Seleksi ini dibuka untuk seluruh UI, kating-kating sampai maba boleh daftar, bahkan untuk non fasilkom pun boleh (Pak Denny bilang pernah ada anak FMIPA lolos :O).

Seleksi ini cukup singkat. Ada 3 kontes. 2 kontes pendek dan 1 kontes panjang.

Kontes pendek itu durasinya 2.5 jam dan ngerjain di lab. Dapet poin berdasarkan ranknya yaitu max(18-rank,2). Kontesnya di Vjudge.

Kontes panjang itu durasinya 1 minggu dan dapet poin cuma berdasarkan jumlah solve. kontesnya dari selasa - selasa depannya.

Ini aku ada kendala di laptop. Jadi laptopku saat itu (ROG…

Teknik Rekursi untuk Menjawab Soal di Kertas

Teknik rekursi buat OSP OSP kurang dari seminggu lagi dan dengan semakin seringnya muncul soal tipe ini,ingin  mencoba membahasnya. Kata orang kalau kita ngajarin orang lain jadi tambah ngerti maka jadilah post ini :v

(untuk alasan lupa dan kurangnya niat mencari soal asli, beberapa soal di post ini mungkin memiliki deskripsi berbeda dengan soal aslinya) pendahuluan

“banyaknya string biner dengan panjang 8 dimana tidak ada 2 angka 1 yang berdampingan adalah?”

saat membaca  soal ini, mungkin kita akan nyoba pake inklusi ekslusi yaitu banyaknya semua kemungkinan – banyaknya kemungkinan 2 angka 1 dempet + banyaknya kemungkinan 3 angka 1 dempet -… tp kasus banyak bakal mabok. Trus nyoba kuli aja, kelamaan. Jadi disini solusi yang tepat adalah menggunakan rekursi.

Misal F(n) banyaknya string yang memenuhi syarat tersebut dengan panjang n. Misal kita punya F(n) dan F(n-1), maka kita bisa mendapat F(n+1) sebagai berikut: Karena F(n) tidak mungkin memiliki 2 angka 1 yang berdampingan, maka didepan …