Merdiven Çıkma ve Para Kombinasyonları
Temel 1B bağıntıları sıfırdan kurun.
Merdiven Çıkma ve Para Kombinasyonları, CoddyKit'te ücretsiz bir Competitive Programming Academy dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Competitive Programming Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Competitive Programming Academy kursu toplamda 4 dersten oluşur.
Merdiven Tırmanma Problemiyle Tanışın
Her seferinde 1 veya 2 basamak çıkabilirsiniz. n'inci basamağa kaç farklı yoldan ulaşabilirsiniz? Bu klasik 1D DP, aslında kılık değiştirmiş bir Fibonacci dizisidir.
Yineleme Bağıntısını Bulun
i basamağında durmak için i-1 veya i-2 basamağından gelmiş olmanız gerekir. Bu nedenle dp[i] = dp[i-1] + dp[i-2] olur; son iki hamleyi toplarsınız.
dp[i] = dp[i-1] + dp[i-2]Temel Durumları Belirleyin
Zeminde kalmanın bir yolu ve 1. basamağa ulaşmanın bir yolu vardır. Bu temel durumlar bütün tabloyu başlatır.
dp[0], dp[1] = 1, 1Doldurun ve Yanıtı Okuyun
Yukarı doğru ilerleyen bir döngü kurduğunuzda son hücre sayıyı içerir. Eksiksiz çözüm, küçük bir tablo doldurma döngüsünden ibarettir.
for i in range(2, n+1):
dp[i] = dp[i-1] + dp[i-2]İki Değişkene İndirgeyin
Yalnızca son iki değere ihtiyacınız olduğundan diziyi kaldırabilirsiniz. Bu O(1) bellek kullanan sürüm, yarışmalarda en çok tercih edilen çözümdür.
a, b = 1, 1
for _ in range(n):
a, b = b, a+bMadeni Para Kombinasyonlarına Geçin
Madeni para değerleri verildiğinde, A miktarını oluşturmanın kaç yolu olduğunu bulun. Burada sıra önemli değildir; bu nedenle dizileri değil kombinasyonları sayarız.
coins = [1, 2, 5]Kombinasyonlar Tablosu
dp[x], x miktarını oluşturmanın yollarının sayısı olsun. Sıfırı oluşturmanın bir yolu vardır: madeni paraların boş kümesi.
dp = [0]*(A+1)
dp[0] = 1Madeni Para Döngüsünü Dış Döngüye Alın
Madeni para döngüsünü dış döngüye, miktar döngüsünü iç döngüye yerleştirin. Bu sıralama, her kombinasyonu tam olarak bir kez ve hiçbir permütasyonu saymaz.
for c in coins:
for x in range(c, A+1):
dp[x] += dp[x-c]Kombinasyonlar ve Permütasyonlar
Döngülerin sırasını değiştirirseniz bu kez sıralı yolları sayarsınız. Yalnızca döngülerin iç içe geçme sırası, yanıtın anlamını tamamen değiştirir.
Madeni Para Bozdurmanın En Az Para Sürümü
En az sayıda madeni para için toplam yerine minimum değeri saklayın. Başlangıç değerini sonsuzluk yapın ve en iyi alt probleme 1 ekleyin.
dp[x] = min(dp[x], dp[x-c] + 1)Tek Örüntü, Birçok Görünüm
Merdiven ve madeni para problemleri aynı yapıyı paylaşır: her durum birkaç önceki durum üzerinden toplam veya minimum alır. Bunu fark ettiğinizde kod kendiliğinden ortaya çıkar.
Hızlı Kontrol
Madeni para kombinasyonlarını sayarken hangi döngü sırası tekrarları önler?
Özet: Son Hamleleri Toplayın
Artık merdiven ve madeni para sayma problemlerini bir 1D yineleme bağıntısıyla çözebilirsiniz. Her yanıt birkaç önceki durumu toplar; döngü sırası da kombinasyonlarla permütasyonları birbirinden ayırır.
Sıkça Sorulan Sorular
“Merdiven Çıkma ve Para Kombinasyonları” dersi ücretsiz mi?
Evet — “Merdiven Çıkma ve Para Kombinasyonları” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Competitive Programming Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Competitive Programming Academy kursu toplamda 4 dersten oluşur.
“Merdiven Çıkma ve Para Kombinasyonları” dersinde ne öğreneceğim?
Temel 1B bağıntıları sıfırdan kurun. Competitive Programming Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Competitive Programming Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Competitive Programming Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.
“Merdiven Çıkma ve Para Kombinasyonları” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Competitive Programming Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Competitive Programming Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Memoization ve Tabulation Karşılaştırması
- Durumu ve Geçişi Tanımlama
- Merdiven Çıkma ve Para Kombinasyonları
- En Uzun Artan Alt Dizi