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

C++-এ প্রতিটি উপাদানের ডানে কতগুলো ছোট সংখ্যা আছে (Count of Smaller Numbers After Self)

কাউন্ট অফ স্মলার নাম্বার্স আফ্টার সেলফ

একটি অ্যারে nums দেওয়া আছে। প্রতিটি সূচক i-র জন্য, i-র ডানে (অর্থাৎ j > i) কতগুলো উপাদান nums[i]-র চেয়ে ছোট তা গণনা করতে হবে।

উদাহরণ: [5,2,7,1] → [2,1,1,0]

সমাধানের পদ্ধতি (বাইনারি ইনডেক্সড ট্রি / BIT / ফেনউইক ট্রি)

  • কোঅর্ডিনেট কমপ্রেশন: মানগুলো ১ থেকে maxVal রেঞ্জে নিয়ে আসুন
  • BIT (ফেনউইক ট্রি) ব্যবহার করে প্রিফিক্স সম কوئরি করুন
  • ডান থেকে বামে ট্রাভার্স করুন:
    • query(nums[i]-1) দিয়ে ছোট মানগুলোর কাউন্ট পান
    • update(nums[i], 1) দিয়ে বর্তমান মান যোগ করুন

C++ কোড উদাহরণ

ইনপুট

[5,2,7,1]

আউটপুট

[2, 1, 1, 0, ]
  1. C++-এ সমতল তলে পারালেলোগ্রাম গণনা: মিডপয়েন্ট পদ্ধতি

  2. C++-এ প্রাইম P-এর পরের প্রাইম নম্বর जिनका যোগফল S

  3. 1 থেকে N পর্যন্ত অলমোস্ট প্রাইম সংখ্যার সংখ্যা বের করা C++-তে

  4. C++-এ অ্যারেতে সর্বোচ্চ সन्नিহিত জোড় সংখ্যা (Contiguous Even Numbers) এর গণনা