最短路計數
這題要用dij,,不知道spfa為什麼會出鍋,也不會改
就對每個點記錄乙個cnt
每次更新最短路的時候就將x的cnt傳給to
如果最短路相等,就給to的cnt加上x的cnt
然後就是dij板子,,其實就是個板子加上一點修改,,
#include#include#include
using
namespace
std;
const
int n=2005
;int
head[n],d[n],ans[n];
intmp[n][n];
bool
in[n];
intcnt,n,m;
struct
nodee[(n*n)<<1
];struct
edge
};inline
void add(int
from,int to,int
dis);
head[
from]=cnt;
}priority_queue
q;void
spfa());
d[1]=0;ans[1]=1
;
while(!q.empty()));
}else
if(d[e[i].to]==d[t]+e[i].dis)
ans[e[i].to]+=ans[t];}}
}int
main()
}for(int i=1;i<=n;++i)
d[i]=1e9;
spfa();
if(d[n]==1e9)printf("
no answer");
else printf("
%d %d
",d[n],ans[n]);
return0;
}
P1608 路徑統計
aimee 很水的題目 只要把p1144改一下 需要注意的是這個題有重邊,求方案數的話一定要去重!這就涉及到很有趣的問題。要想成為頂尖高手 就要做到滴水不漏 橙汁哥 從這個題我才知道我寫的堆優化dijkstra複雜度有問題 tle起飛 include include include include ...
洛谷 P1608 路徑統計
rp餐廳 的員工素質就是不一般,在齊刷刷的算出同乙個 號碼之後,就準備讓hzh,tzy去送快餐了,他們將自己居住的城市畫了一張地圖,已知在他們的地圖上,有n個地方,而且他們目前處在標註為 1 的小鎮上,而送餐的地點在標註為 n 的小鎮。有點廢話 除此之外還知道這些道路都是單向的,從小鎮i到j需要花費...
洛谷 P1608 路徑統計
洛谷傳送門 rp 餐廳 的員工素質就是不一般,在齊刷刷的算出同乙個 號碼之後,就準備讓 hzh,tzy 去送快餐了,他們將自己居住的城市畫了一張地圖,已知在他們的地圖上,有 nn 個地方,而且他們目前處在標註為 1 的小鎮上,而送餐的地點在標註為 n 的小鎮。有點廢話 除此之外還知道這些道路都是單向...