मान लीजिए कि हमारे पास एक सूची ए है। हमने ए के सभी गैर-रिक्त उप-सूचियों को लिया है क्योंकि हम जानते हैं कि एन तत्वों के साथ एक सूची एल है (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