求助
  • 板块学术版
  • 楼主mayike
  • 当前回复1
  • 已保存回复1
  • 发布时间2024/10/2 17:09
  • 上次更新2024/10/2 19:43:08
查看原帖
求助
1039406
mayike楼主2024/10/2 17:09

这是一个有向图(可能有环),边权均为正整数。

fif_i11~ii 的最短路(保证正确),本人想求解 did_i 表示 11~ii 的最短路的方案数,但是有一组大数据错了,求条。感谢dalao!

struct ab{
	int u;
	bool operator <(const ab &x)const{
		return f[u]>f[x.u];
	}
};
void dij(){
	priority_queue<ab>q;
	vas[1]=1;
	d[1]=1%mod;
	q.push(1);
	while(!q.empty()){
		ab up=q.top();
		q.pop();
		int u=up.u;
		for(no vt:nw[u]){
			int v=vt.v,l=vt.l,x=f[u]+l;//v:u连接的点,l:边权
			if(x==f[v]){
				(d[v]+=d[u])%=mod;
				if(!vas[v]){
					vas[v]=1;
					q.push(v);
				}
			}
		}
	}
}
2024/10/2 17:09
加载中...