मान लीजिए कि हमारे पास एक सूची ए है। हमने ए के सभी गैर-रिक्त उप-सूचियों को लिया है क्योंकि हम जानते हैं कि एन तत्वों के साथ एक सूची एल है (2n - 1) गैर-रिक्त उपसूची। अब प्रत्येक उपन्यास के लिए, वह sublist_sum (तत्वों का योग और उन्हें S1 द्वारा निरूपित करता है) की गणना करता है। , एस<उप>2उप> , एस<उप>3उप> , ... , एस<उप>(2एन-1)उप> ) एक विशेष योग P ऐसा है कि P =2 S1 + 2 S2 +2 S3 .... + 2 S(2N-1) . हमें P खोजना है। यदि P बहुत बड़ा है तो P mod (10^9 + 7) लौटाएं।
तो, अगर इनपुट ए =[2,2,3] जैसा है, तो आउटपुट होगा सबसेट हैं
- {2} तो 2^2 =4
- {2} तो 2^2 =4
- {3} तो 2^3 =8
- {2,2} तो 2^4 =16
- {2,3} तो 2^5 =32
- {2,3} तो 2^5 =32
- {2,2,3} तो 2^7 =128
योग 4 + 4 + 8 + 16 + 32 + 32 + 128 =224
. हैइसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- उत्तर:=1
- म:=10^9+7
- ए में प्रत्येक एल के लिए, करें
- उत्तर:=उत्तर *(1 + (2^एल मॉड एम))
- उत्तर:=उत्तर मॉड एम
- वापसी (m + ans-1) mod m
उदाहरण
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
def solve(A):
ans=1
m=10**9+7
for el in A:
ans *= (1+pow(2,el,m))
ans %= m
return (m+ans-1) % m
A = [2,2,3]
print(solve(A)) इनपुट
[2,2,3]
आउटपुट
224