Map Vector Set 離散的使用)

2021-07-02 20:48:22 字數 990 閱讀 2682

hdu   5233    gunner

原來這樣就可以快速讀入:

while(~scanf("%ld%ld\n",&n,&m))

1.對樹的高度和打槍的高度分別排序,用陣列離線(按打槍順序)儲存結果:

const int maxn=105000;

struct node

a[maxn],b[maxn];

int c[maxn];

int cmp(node x,node y)

else if(a[i].high

2. 對每一次打槍,用map找到所打高度的位置,在輸入時用set陣列或vector陣列儲存樹的順序;

離線的做法:找出所有不同的高度(最多1e5),用map找該高度的位置。

const int maxn=100005;

vectorg[maxn];

mapmp;

sets[maxn];

int p[maxn];

int main()

while(m--)}}

}return 0;

}

3. 將上面的set 改為vector二維陣列儲存即可

vectorg[maxn];

int cnt,p[maxn];

mapmp;

int main()

cur=mp[h[i]];

g[cur].push_back(i);

}for(int i=0;i<=cnt;i++)

p[i]=0;

while(m--)

cur=mp[cur];

if(p[cur]>=(int)g[cur].size())

printf("%d\n",g[cur][p[cur]]);

p[cur]++;}}

return 0;

}

11 1 離散資料及離散函式

資料視覺化 在科學的研究體系中,將數學公式與資料表現在圖表中,是展示符號的具體物理含義及大量資料的內在聯絡和規律的科學有效的方法。matlab中可以繪製二維 三維和四維的資料圖形,並通過對圖形的線性 顏色 標記 觀察角度 座標軸範圍等屬性的設定,將大量資料的內在聯絡及規律表現得更加細膩,完善。mat...

離 散 行 業 的 特 點

離散工業主要是通過對原材料物理形狀的改變 組裝,成為產品,使其增值。它主要包括機械加工 工具機等加工 組裝性行業,典型產品有汽車 計算機 日用器具等。離散工業生產單位和銷售單位是統一的。具體特點有以下幾個 1.產品結構 離散製造企業的產品結構可以用樹的概念進行描述,最終產品一定是由固定個數的零件或部...

資料的離散化

有些資料本身很大,自身無法作為陣列的下標儲存對應的屬性。如果這時只是需要這堆資料的相對屬性,那麼可以對其進行離散化處理!離散化 當資料只與它們之間的相對大小有關,而與具體是多少無關時,可以進行離散化。例如 9 1 0 5 4 與 5 2 1 4 3 的逆序對個數相同。設有4個數 1234567 12...