Extended Traffic
解法:
因为存在负环,则需要使用SPFA求最短路,跑一遍模板,记录负环所能达到的点集
学习博客
#include<bits/stdc++.h> using namespace std; int n,m,q; int a[202]; struct node {int v,w; }; vector<node > G[202]; int inq[202];//当前是否在队列 int num[202];//进入队列次数 当进入队列次数大于n-1次则存在负环 int d[202];//最短路 int cir[202];//负环能达到的点集 void dfs(int u) {cir[u]=1;for(auto T:G[u]){if(!cir[T.v]) dfs(T.v);} } void spfa(int u) {queue<int> q;memset(inq,0,sizeof(inq));memset(num,0,sizeof(num));memset(cir,0,sizeof(cir));for(int i=1;i<=n;i++) d[i]=1e9;d[u]=0;q.push(u);inq[u]=1;num[u]++;while(q.size()){int v=q.front();q.pop();inq[v]=0;for(auto T:G[v]){if(cir[T.v]) continue;if(d[T.v]>d[v]+T.w){d[T.v]=d[v]+T.w;if(inq[T.v]==0){inq[T.v]=1;q.push(T.v);num[T.v]++;if(num[T.v]>n) dfs(T.v);}}}}} int main() {int t;scanf("%d",&t);int tt=1;while(t--){scanf("%d",&n);for(int i=1;i<=n;i++){scanf("%d",&a[i]);G[i].clear();}scanf("%d",&m);for(int i=0;i<m;i++){int u,v;scanf("%d%d",&u,&v);G[u].push_back({v,(a[v]-a[u])*(a[v]-a[u])*(a[v]-a[u])});}spfa(1);int q;scanf("%d",&q);printf("Case %d:\n",tt++);while(q--){int w;scanf("%d",&w);if(cir[w]||d[w]<3||d[w]==1e9) puts("?");else printf("%d\n",d[w]);}} }
详细解决方案
Extended Traffic SPFA判负环
热度:41 发布时间:2024-02-23 17:54:07.0
相关解决方案
- 请问short APDU 和 extended APDU命令编写的区别
- SQL SERVER - EXTENDED EVENT 监视异常和存储过程
- 运用SQL Server 2008 Extended Events SSMS Addin轻松管理XEvents
- SPFA 模板
- (Bellman-ford/SPFA)poj3259 Wormholes
- (Dijkstra算法、Floyd算法、SPFA)hdu 1874 畅通工程续
- 蓝桥杯 最短路 spfa
- POJ2502 subway(spfa)
- POJ3169差分约束(SPFA+差分约束)
- LightOJ 1074 Extended Traffic(SPFA+负环)
- poj 1860 Currency Exchange (spfa)
- 最短路模板[spfa][dijkstra+堆优化][floyd]
- POJ 3169 Layout(SPFA+差分约束)
- spfa hdu1317 XYZZY
- POJ-3635-Full Tank?-spfa+ 优先队列
- oracle Extended Statistics 维护
- LightOJ 1074 Extended Traffic (spfa找负环)
- HDU 4276 树形dp+spfa+分组背包
- 图论-链式前向 + SPFA
- CodeForces 498D Traffic Jams in the Land
- 计算客 - 热爱工作的蒜蒜 - spfa
- Extended Asm - Assembler Instructions with C Expression Operands
- POJ 2449 Remmarguts' Date 第K短路 A* + SPFA
- Codeforces Round #103 (Div. 2) D题 SPFA
- A - Chat Server's Outgoing Traffic
- C--最短路(spfa+vector(存图)) 模板
- L2-001. 紧急救援(多级最短路 spfa)
- L3-011. 直捣黄龙(多级最短路 spfa)
- POJ 3272Cow Traffic /洛谷 P2883 [USACO07MAR]牛交通 双向拓扑排序
- POJ 3662/洛谷 P1948 [USACO08JAN]电话线Telephone Lines (SPFA+二分)