SOS DP | DP Series(Last Episode)
শুরুতেই বলে রাখি এই এপিক টপিক আমি শিখেছি এই CF Blog থেকে। SOS DP: SOS(Sum Over Subset) মূলত একটি সংখ্যার সবগুলো সাবমাস্ক এফিসিয়েন্টলি ইটারেট করে। সাবমাস্ক কি? একটি সংখ্যা x এর একটি সাবমাস্ক হবে y যদি x & y = y হয়। সহজ ভাষায় বললে, একটি সংখ্যার kth বিট যদি 0 হয় তবে তার সাবমাস্ক এর kth বিট অবশ্যই 0 হবে এবং যদি সংখ্যাটির kth বিট 1 হয় তবে তার সাবমাস্কের kth বিট 0 অথবা 1 যেকোন কিছু হতে পারে। তাহলে, একটি সংখ্যার On bit যদি k টা হয় তবে তার সাবমাস্ক হতে পারে 2^k টা। এখন ধরে নেই, S(mask) = {x : x & mask = x} অর্থাৎ, S(mask) হচ্ছে mask সংখ্যাটির সাবমাস্কের সেট। S(mask , i) হচ্ছে মাস্কের এমন সব সাবমাস্কের এর সেট যাদের 0th to ith পজিশনের বিটগুলো শুধু পরিবর্তন হতে পারবে। এখন, S এবং সাব...