前提・実現したいこと
ABC 147こちらのD問題に以下のコードを提出したところ、部分的にACが出るのですが、それ以降RE, WAが出てしまいます。(->提出結果)
提出コード
python
1N = int(input()) 2A = [int(i) for i in input().split()] 3import numpy as np 4A = np.array(A) 5B = A[:, np.newaxis] 6#numpyのブロードキャストを利用し、Aの要素同士のすべての組についてXORを求める。 7x = (np.sum(A^B))//2 8print(x % (10**9 + 7))
試したこと
公開されたテストケースを確認したところ、要素が10万を超えており、A^Bの計算する際にnumpyのMemoryErrorがでていることがわかりました。(Atcoderの問題に設定されているメモリオーバーではない)この問題の趣旨として、ただXOR計算するのではなく、どれだけ効率よく計算できるかが問われているみたいでした。
もし、上記のコードの形を最低限残したまま、Memoryerrorを防ぐ解法が分かる方がいらっしゃればご教授頂きたいです。
回答1件
あなたの回答
tips
プレビュー