這題是許可權題,版權問題不放題意,我來簡要的說一下:
給出乙個迷宮,有起始點終點,可以上下左右走,移動的耗時是1,可以改變上下走的耗時為v,給出乙個總耗時l,問在總耗時中的v是多少
顯然這題可以先二分答案v然後跑寬搜或者spfa來判斷,還是蠻簡單的。
這題的難點就在於,看到v的範圍很小(0≤
v≤10 )就沒想到要二分,但事實上,這題的精度要求很大,所以要判斷的v範圍還是挺大的。
好在圖不是很大,所以可以多次跑spfa等演算法算最短路。
code:
#include
#include
#include
#include
using
namespace
std;
const
int dx=;
const
int dy=;
const
double eps=1e-7;
const
double inf=1e7;
int ids[110][110],id;
int r,c;
double l;
int st,ed;
char ss[110][110];
struct node
a[210000]; int len,last[110000];
void ins(int x,int y,double c)
double d[11000];
intlist[110000],head,tail;
bool v[110000];
double spfa()}}
head++;v[x]=false;
}return d[ed];
}void build(double c)}}
}}int main()
for(int i=1;i<=r;i++)
}double l=0.0,r=10.0;
while(r-l>eps)
printf("%.5lf\n",l);
}return
0;}
BZOJ2724 Violet 6 蒲公英 分塊
n 個數,m 次詢問。n leq 40000,m leq 50000 看完題目 呀這不是莫隊裸題嗎?然後經過一波思 forever 考 piano 終於會做了。首先請你自行證明乙個結論 在詢問區間內任取一段子區間,詢問區間內的最小眾數一定是子區間的最小眾數或者出現在詢問區間除掉子區間的其他地方。於是...
bzoj 2725 Violet 6 故鄉的夢
無向圖,給定s和t,多次詢問在刪除某條邊時兩點間最短路 我的spfa被卡了 我們對所有不在最短路徑的上的邊 設它的起點為u 終點為v。那麼對於這條邊,包含該邊的最優的s到t路徑就應該是 s s1 u v t1 t 其中s1,t1表示最短路徑上的兩個點。那麼這樣的一條最短路可以再s1 t1中某條邊被刪...
BZOJ 2725 Violet 6 故鄉的夢
題意 給出乙個無向圖,給定起點和終點。給出q個詢問,每個詢問是刪除某條邊之後,起點到終點的最短路變成什麼?詢問之間是獨立的。這道題不錯,但是蒟蒻完全不會做qaq,解法參考claris大佬的。首先容易想到如果刪掉的邊不在最短路上的話,最短路是不會變的。於是我們先跑一遍最短路,找出一條最短路。終點是如果...