Menghitung Jalur pada Grid
Menjumlahkan jalur dari sudut ke sudut
Menghitung Jalur pada Grid adalah pelajaran Competitive Programming Academy gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Competitive Programming Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Competitive Programming Academy mencakup 4 pelajaran total.
Masalah Kisi Klasik
Anda mulai dari kiri atas sebuah kisi dan ingin mencapai kanan bawah. Setiap langkah bergerak ke kanan atau ke bawah. Berapa banyak jalur berbeda yang ada?
Mengapa DP Cocok
Setiap sel dapat dicapai dari sel di atasnya atau sel di sebelah kirinya. Tumpang tindih itulah alasan tepat mengapa ini merupakan masalah DP.
Tentukan Keadaan
Misalkan dp[i][j] adalah banyaknya cara untuk mencapai sel (i, j) dari titik awal. Menamai keadaan dengan jelas berarti Anda sudah menyelesaikan separuh tantangan.
Transisi
Anda hanya dapat tiba dari atas atau dari kiri, sehingga jumlahnya adalah penjumlahan keduanya. Inilah transisi yang menggerakkan seluruh tabel.
dp[i][j] = dp[i-1][j] + dp[i][j-1]Kasus Dasar
Sel awal memiliki tepat satu cara untuk mencapainya: tidak melakukan apa pun. Jadi, dp[0][0] bernilai 1 sebelum Anda mengisi bagian lainnya.
dp[0][0] = 1Tepi Memiliki Satu Jalur
Sel pada baris teratas atau kolom paling kiri hanya memiliki satu rute lurus. Jumlahnya selalu 1 karena salah satu tetangganya berada di luar kisi.
Buat Tabel
Buat tabel m kali n yang diisi dengan nol. Menentukan ukurannya sejak awal membuat pengindeksan tetap rapi dan menghindari kejutan.
dp = [[0] * n for _ in range(m)]Isi Sesuai Urutan Pembacaan
Lakukan perulangan pada baris, lalu kolom, dari atas ke bawah dan dari kiri ke kanan. Urutan ini menjamin kedua tetangga sudah siap sebelum digunakan.
for i in range(m):
for j in range(n):
...Sel Jawaban
Setelah pengisian selesai, jumlah jalur berada di sel terakhir. Jawabannya adalah dp[m-1][n-1], yaitu sudut kanan bawah.
answer = dp[m-1][n-1]Hemat Memori dengan Satu Baris
Setiap baris hanya membutuhkan baris di atasnya, sehingga Anda dapat menyimpan satu baris dan memperbaruinya di tempat. Dengan begitu, memori berkurang menjadi O(n).
row[j] += row[j-1]Jalan Pintas Matematika
Tanpa penghalang, jawabannya adalah koefisien binomial: pilih langkah mana dari seluruh langkah yang bergerak ke bawah. DP tetap lebih unggul ketika rintangan muncul.
Pemeriksaan Singkat
Anda sedang mengisi dp[i][j] untuk sel bagian dalam yang tidak terhalang. Rumus mana yang benar?
Ringkasan: Penghitungan Jalur
Tentukan dp sebagai jalur menuju sebuah sel, atur dp[0][0] menjadi 1, lalu jumlahkan sel di atas dan sel di kiri. Sudut kisi menyimpan jawaban Anda. 🧭
Belajar Python dengan tutor AI — gratis
Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.
- Kursus
- 30
- Pelajaran
- 120
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Menghitung Jalur pada Grid” gratis?
Ya — teks lengkap “Menghitung Jalur pada Grid” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Competitive Programming Academy, upgrade ke CoddyKit PRO. Kursus Competitive Programming Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Menghitung Jalur pada Grid”?
Menjumlahkan jalur dari sudut ke sudut Kamu berlatih Competitive Programming Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Competitive Programming Academy?
Tidak diperlukan pengalaman sebelumnya. Competitive Programming Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 4.
Berapa lama pelajaran “Menghitung Jalur pada Grid” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Competitive Programming Academy ini?
Ya. Setiap pelajaran Competitive Programming Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Menghitung Jalur pada Grid
- Jumlah Jalur Minimum dengan Rintangan
- Subsekuens Sama Terpanjang
- Jarak Edit Langkah demi Langkah