JSOI2009 計數問題

2022-02-08 21:36:03 字數 782 閱讀 5409

把題面改下風格:

有 n*m 個點, 每個點 i 有權值 xi,yi,zi, 要求回答 q 次詢問, 每次給定 l1, r1,l2, r2,l3,查詢有多少點滿足:

l1 ≤ xi ≤ r1

l2 ≤ yi ≤ r2

l3 = zi

說是三維 log3 的查詢, 但直接開 z 個二維樹狀陣列, log 方也行。

#includeusing namespace std;

const int n = 303;

int n, m, a[n][n];

struct bit

void ins(int x, int y, int v)

} int ask_(int x, int y)

return res;

} int ask(int lx, int rx, int ly, int ry)

} t[103];

int main()

// for(int i=1; i<=n; ++i, cout<<'\n')

// for(int j=1; j<=m; ++j) cout << t[a[i][j]].ask(i, i, j, j) << ' ';

// cout << "# " << t[2].ask_(3, 3) << '\n';

int q;

scanf("%d", &q);

while(q--)

if(op == 2)

}return 0;

}

JSOI2009 計數問題 二維樹狀陣列

題面 題解 二維樹狀陣列的板子題,學了這麼久第一次寫二維樹狀陣列,慚愧啊。怎麼寫就不說了,看 吧。跟普通的是一樣的寫法 1 include2 using namespace std 3 define r register int 4 define ac 302 5 define lowbit x x...

JSOI2009 球隊收益

因為要限制每個比賽,一勝一負,流量無法限制。所以我們可以假設先全敗,然後選擇某個人獲勝,然後用差值來改變。假設當前a勝,b負。然後獲勝一次的差值為 c a 1 a 1 d b 1 b 1 c a a d b b c 2 a 1 d 2 b 1 ac pragma gcc optimize ofast...

題解 JSOI2009遊戲

真的沒想到 果然反應太遲鈍,看到題目毫無思路,一點聯想都沒有。按照網上部落格的說法 一眼棋盤染色二分 二分圖 最大匹配 bingo?果然我還是太弱了 我們將棋盤黑白染色,相鄰兩點之間的轉移轉化為圖上的邊。根據最大匹配的定義,如果我們最開始將棋子放在乙個未匹配的點上,一定會到達乙個匹配點 不然若到達了...