কম্পিউটার টিউটোরিয়াল

C++-এ অ্যারেতে সব বর্ধমান সাবসিকোয়েন্স গণনা (Count All Increasing Subsequences)

এই টিউটোরিয়ালে, ০ থেকে ৯ পর্যন্ত ডিজিট ধারণকারী একটি অ্যারেতে কতগুলো বর্ধমান সাবসিকোয়েন্স (increasing subsequences) আছে তা গণনা করার প্রোগ্রাম আলোচনা করা হয়েছে।

পদ্ধতি

DP অ্যারে count[10] ব্যবহার করুন যেখানে count[d] = d ডিজিট দিয়ে শেষ হওয়া বর্ধমান সাবসিকোয়েন্সের সংখ্যা। প্রতিটি উপাদানের জন্য ছোট ডিজিটগুলোর কাউন্ট যোগ করুন।

C++ প্রোগ্রাম উদাহরণ

#include <bits/stdc++.h>
using namespace std;

int count_sequence(int arr[], int n) {
    int count[10] = {0};
    for (int i = 0; i < n; i++) {
        for (int j = arr[i] - 1; j >= 0; j--)
            count[arr[i]] += count[j];
        count[arr[i]]++;
    }
    int result = 0;
    for (int i = 0; i < 10; i++)
        result += count[i];
    return result;
}

int main() {
    int arr[] = {3, 2, 4, 5, 4};
    int n = sizeof(arr) / sizeof(arr[0]);
    cout << count_sequence(arr, n);
    return 0;
}

আউটপুট

14
  1. C++-এ একটি রেঞ্জে ইউনারি নাম্বারগুলোর সংখ্যা গণনা

  2. সর্বোच्च Анаগ্রাম সাবস্ট্রিং গণনা (C++ প্রোগ্রাম)

  3. নির্দিষ্ট পরিসীমার মধ্যে প্রাইম সংখ্যার সংখ্যা গণনা C++-এ

  4. C++-এ সমতল তলে পারালেলোগ্রাম গণনা: মিডপয়েন্ট পদ্ধতি