जब संख्याओं को बाइनरी नंबर के रूप में दिया जाता है, तो Knapsack समस्या होती है । इस मामले में, गतिशील प्रोग्रामिंग तेजी से कई कदम (इनपुट के आकार में, इनपुट में बिट्स की संख्या यानी) खत्म करने के लिए ले जाएगा ।एन पी - सी ओ एम पी एल ई टी ई ††
दूसरी ओर, यदि इनपुट में संख्याएँ एकात्मक रूप से दी गई हैं, तो डायनेमिक प्रोग्रामिंग बहुपद समय (इनपुट के आकार में) में काम करेगा।
इस तरह की समस्याओं को कमजोर रूप सेएन पी - सी ओ एम पी एल ई टी ई ।
† : इनपुट देने के लिए उपयोग किए जाने वाले एन्कोडिंग के महत्व को समझने के लिए एक और अच्छा उदाहरण सामान्य एल्गोरिदम पर विचार करना है, यह देखने के लिए कि क्या संख्या अभाज्य है जो2 सेn--√ और जांच करें कि क्या उनमें से कोई भीnविभाजित करता है। यहnमें बहुपद हैलेकिन जरूरी नहीं कि इनपुट आकार में हो। यदिnबाइनरी में दी गई है, इनपुट के आकार हैlgnऔर एल्गोरिथ्म समय में चलाता हैO(n−−√)=O(2lgn/2)जो इनपुट आकार में घातांक है। और एक समस्या की सामान्य कम्प्यूटेशनल जटिलता इनपुट के आकार की है।
इस तरह का एल्गोरिथ्म, अर्थात् सबसे बड़ी संख्या में बहुपद जो इनपुट का हिस्सा है, लेकिन इनपुट लंबाई में घातांक को छद्म-बहुपद कहा जाता है ।