給定10^18×10^18的矩陣。每個單元格都是0或1.最初都是0.在大矩陣中切換和計算查詢
現在我們需要執行Q查詢。我們有兩種類型的查詢:
1×L R:如果x = 0
,那麼就意味着我們要切換行1,1 + 1,...,R的所有單元格的值。 否則(x = 1)
我們應該對列號l,l + 1,... r進行此操作。我們需要在該矩陣的子矩形中打印標記爲1的單元格的數量,該矩形由行數l,l + 1,...,r和列數x,x + 1組成, ...,y。
現在,如果矩陣的大小很小,這可能已經完成。但如何爲10^18大小的矩陣做到這一點?我們不能創建矩陣,我們需要一些算法來有效地存儲這些值以回答所有查詢。
查詢數可能高達100 000.我怎樣纔能有效地做到這一點?
您打算使用哪種環境? CUDA? – Dinal24
@ Dinal24我只用C++編碼 – mat7