題意:題目的意思就是要建立一道防線,從x=0,鏈結到x=n;
題目會給出m個哨點,每個哨點可以包含半徑為k的範圍,通過這些哨點來建立防線
如圖,建立類似這樣的一條防線,那麼我們就是要從左邊建到右邊,找一條最短路
思路:假如我們單獨處理題目中給出的哨點的話,那麼兩岸還沒處理到,所以我們增加m+1(設立在左岸),m+2兩個點(設立在右岸)
然後就開始建邊,最後走最大值最短路即可
1 #include2view codeusing
namespace
std;
3const
int maxn=1e3+10;4
double dis[maxn]; int
vis[maxn];
5double
x[maxn],y[maxn];
6int
n,m;
7struct
node
8g[1000010]; int head[1000010]; int num=0;12
double mx(double t1,double
t2)13
17void add(int u,int v,double
w)18
21double cal(int t1,int
t2)22
25void
spfa()
2631 queueq;
32 q.push(m+1
);33 vis[1+m]=1
;34 dis[1+m]=0;35
while(!q.empty())48}
49}50}
51}52int
main()
5361
for(int i=1;i<=m;i++)67}
68spfa();
69 printf("
%.2f\n
",dis[m+2
]);70 }
洛谷 P1783 海灘防禦
題目描述 wlp同學最近迷上了一款網路聯機對戰遊戲 終於知道為毛johnkram每天刷洛谷效率那麼低了 但是他卻為了這個遊戲很苦惱,因為他在海邊的造船廠和倉庫總是被敵方派人偷襲。於是,wlp動用了他那豐滿且充實的大腦 或許更偏向前者 想出了乙個好主意,他把海灘分成垂直於海岸線的若干列,在其中的幾列上...
題解 洛谷 1783 海灘防禦
題目描述 wlp同學最近迷上了一款網路聯機對戰遊戲 終於知道為毛johnkram每天刷洛谷效率那麼低了 但是他卻為了這個遊戲很苦惱,因為他在海邊的造船廠和倉庫總是被敵方派人偷襲。於是,wlp動用了他那豐滿且充實的大腦 或許更偏向前者 想出了乙個好主意,他把海灘分成垂直於海岸線的若干列,在其中的幾列上...
洛谷 1783 海灘防禦 題解
部落格觀賞效果更佳 平面直角座標系上有m 800 m 800 m 8 00 個點,每個點的x xx座標都在 1,n 1,n 1,n 之內,n 1000 n 1000 n 1 000,y yy座標 1 e5 1e5 1 e5。每個點珂以設乙個半徑為r rr的攻擊塔 攻擊範圍包含邊界 x xx軸上 1,...