對於每個時間點,詢問兩點之間的路徑(針對不同時間點各個點之間連通性不同)
floyd的本質是中**
for(k=1;k<=n;k++)
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
if(e[i][j]>e[i][k]+e[k][j])
e[i][j]=e[i][k]+e[k][j];
本題:按照時間順序更新每乙個點可用的點(即為修建好村莊),對於每個時間點詢問,求對於目前建設的所有村莊來說任意兩點之間的最短路。
與floyd中使用前k個節點更新最短路的思維一致。
#include #include #include #include using namespace std;
#define n 205
int n,m;
int a[n],f[n][n];
void update(int k)
int read()
int main()
} return 0;
}
感覺**很好理解啊 20201009day30 複習3 數字dp
lgp2657 scoi2009 windy數 求 a,b 之間 a 數 的個數。乙個數被稱為 a 數 當且僅當它不含前導零且相鄰兩個數字之差至少為2.1 le a le b le 2 times 10 9 只需要規定函式work x 求 1,x 內所有的 a 數 的個數,字首和就好。設 dp 表示...
Day1刷題總結
如果進棧序列為e1,e2,e3,e4,則不可能的出棧序列是 d a.e2,e4,e3,e1 b.e4,e3,e2,e1 c.e1,e2,e3,e4 d.e3,e1,e4,e2 解析 對於a,進棧的順序是先把e1,e2進棧,再把e2出棧,再將e3,e4進棧,這時棧按順序剩下e1,e3,e4,出棧的順序...
Day10刷題總結
1 public class abc 3 4 將以下哪個方法插入行 3 是不合法的。b a.public float max float a,float b,float c b.public double max double c,double d c.public float max float ...