设为首页 加入收藏

TOP

HDU 1535 && POJ 1511 Invitation Cards (SPFA 模板 + 反向建图)(二)
2015-07-20 17:19:19 来源: 作者: 【 】 浏览:7
Tags:HDU 1535 & POJ 1511 Invitation Cards SPFA 模板 向建图
false, sizeof(vis)); for(int i = 0; i <= p; i++) dist[i] = INF; dist[v0] = 0; queue Q; Q.push(v0); while(!Q.empty()) { int u = Q.front(); Q.pop(); vis[u] = false; int sz = vt[u].size(); for(int i = 0; i < sz; i++) { int v = vt[u][i].v; int w = vt[u][i].w; if(dist[v] > dist[u] + w) { dist[v] = dist[u] + w; if(!vis[v]) { Q.push(v); vis[v] = true; } } } } } void Clear() { for(int i = 1; i <= p; i++) vt[i].clear(); } int main() { int T; scanf("%d", &T); while(T--) { ans = 0; scanf("%d %d", &p, &q); for(int i = 0; i < q; i++) scanf("%d %d %d", &e[i].u, &e[i].v, &e[i].w); Clear(); for(int i = 0; i < q; i++) vt[e[i].u].push_back(NODE(e[i].v, e[i].w)); SPFA(1); for(int i = 1; i <= p; i++) ans += dist[i]; Clear(); for(int i = 0; i < q; i++) vt[e[i].v].push_back(NODE(e[i].u, e[i].w)); SPFA(1); for(int i = 1; i <= p; i++) ans += dist[i]; printf("%d\n", ans); } }

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇uva10755(降维+扫描) 下一篇[codevs 2926] 黑白瓷砖(2002年安..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·如何理解c语言指针和 (2025-12-27 01:19:11)
·为什么C标准库没有链 (2025-12-27 01:19:08)
·玩转C语言和数据结构 (2025-12-27 01:19:05)
·MySQL 基础入门视频 (2025-12-26 23:20:22)
·小白入门:MySQL超详 (2025-12-26 23:20:19)