poj 3067 japan 樹狀陣列

2021-06-05 04:46:23 字數 408 閱讀 5209

poj3067 japan 這裡求的是高架橋交叉的個數,首先按照規則排序,然後同上處理

這裡要注意的是 輸入輸出要用scanf 

且要用sum

要用__int64 

#include

#include

#include

#define maxn 2005

#define max 1000010

using namespace std;

struct node

;int tree[maxn/2];

node input[max];

int cmp(node x1,node x2)

return sum;

}int main()

//cout<<"test case "< }

POJ 3067 Japan 樹狀陣列

題意 兩邊都有一些城市,從上到下排列,有些城市之間有路,路與路之間會形成交點,問最後會形成多少個交點。思路 首先可以把有聯絡的城市轉化成平面上的點,比如說1 和 2 之間有一條路,則代表有乙個點,座標為 1,2 轉化之後可以用樹狀陣列做,可以發現最後的結果其實和所給的順序無關,因此我們可以按y軸從小...

樹狀陣列 POJ 3067 Japan

樹狀陣列的典型應用,典型輸入如下 13 4 4 1 42 3 3 23 1 表示有4條連線,如圖 顯然有5個交點。怎麼求呢?對輸入的數對 x,y 做排序,先按x公升序排,x相等按y公升序排,然後對y做樹狀陣列,每次更新檢查在他後面有多少個元素即可。include include using name...

POJ 3067 Japan(樹狀陣列 )

題意 在東邊有n座城市,從北到南編號依次為1,2,3.n 在西邊有m座城市,從北到南編號分別為1,2,3.m 現要在南北城市之間修建k條超級高速公路,求會出現多少個十字路口 思路 找到合適的統計方法,先經過適當排序,再用rmq解決 2756 kb 469 ms include include inc...