描述
永恆和mx正在玩乙個即時戰略遊戲,名字嘛~~~~~~恕本人記性不好,忘了-_-b。
mx在他的基地附近建立了n個戰壕,每個戰壕都是乙個獨立的作戰單位,射程可以達到無限(「mx不贏定了?!?」永恆fting...@_@)。
但是,戰壕有乙個弱點,就是只能攻擊它的左下方,說白了就是橫縱座標都不大於它的點(mx:「我的戰壕為什麼這麼菜」tot)。這樣,永恆就可以從別的地方進攻摧毀戰壕,從而消滅mx的部隊。
戰壕都有乙個保護範圍,同它的攻擊範圍一樣,它可以保護處在它左下方的戰壕。所有處於它保護範圍的戰壕都叫做它的保護物件。這樣,永恆就必須找到mx的戰壕中保護物件最多的點,從而優先消滅它。
現在,由於永恆沒有時間來計算,所以拜託你來完成這個任務:
給出這n個戰壕的座標xi、yi,要你求出保護物件個數為0,1,2……n-1的戰壕的個數。
格式輸入格式
第一行,乙個正整數n(1<=n<=15000)
接下來n行,每行兩個數xi,yi,代表第i個點的座標
(1<=xi,yi<=32000)
注意:可能包含多重戰壕的情況(即有數個點在同一座標)
輸出格式
輸出n行,分別代表保護物件為0,1,2……n-1的戰壕的個數。
題目分析:這題太水了……雖然上面說是樹狀陣列,但暴力就過了……
**如下:
#include#includeusing
namespace
std;
int x[32001],y[32001],ans[15001
];int
main()
for (int i=0; i"
%d\n
",ans[i]);
return0;
}
Vijos 弱弱的戰壕
永恆和mx正在玩乙個即時戰略遊戲,名字嘛 恕本人記性不好,忘了 b。mx在他的基地附近建立了n個戰壕,每個戰壕都是乙個獨立的作戰單位,射程可以達到無限 mx不贏定了?永恆fting.但是,戰壕有乙個弱點,就是只能攻擊它的左下方,說白了就是橫縱座標都不大於它的點 mx 我的戰壕為什麼這麼菜 tot 這...
vijos1066 弱弱的戰壕
永恆和mx正在玩乙個即時戰略遊戲,名字嘛 恕本人記性不好,忘了 b。mx在他的基地附近建立了n個戰壕,每個戰壕都是乙個獨立的作戰單位,射程可以達到無限 mx不贏定了?永恆fting.但是,戰壕有乙個弱點,就是只能攻擊它的左下方,說白了就是橫縱座標都不大於它的點 mx 我的戰壕為什麼這麼菜 tot 這...
樹狀陣列訓練題1 弱弱的戰壕(vijos1066)
這道題似乎是vijos上能找到的最簡單的樹狀陣列題了。原來,我有乙個錯誤的思想,我的設計是維護兩個樹狀陣列,乙個是橫座標,乙個是縱座標,然後讀入每個點的座標,扔進對應的樹狀陣列內,然後計算時,只要以當前點的座標為末點求字首和,在兩個字首和中取最小的乙個即可。但是這個想法很明顯有錯誤比如如圖的狀況 此...