# poj之旅——3259，3268

3259：

#include<cstdio>
#include<algorithm>
#include<cstring>
#define maxm 10000
#define INF 0x3f3f3f3f
int d[maxm];
int cnt,n,m,w;
struct Edge{
int from,to,dist;
}e[maxm];
e[cnt].from=u;
e[cnt].to=v;
e[cnt++].dist=w;
}
bool find_negative_loop(){
memset(d,0,sizeof(d));
for (int i=0;i<n;i++)
for (int j=0;j<cnt;j++){
Edge t=e[j];
if (d[t.to]>d[t.from]+t.dist){
d[t.to]=d[t.from]+t.dist;
if (i==n-1)return true;
}
}
return false;
}
int main(){
int T;
scanf("%d",&T);
while (T--){
scanf("%d%d%d",&n,&m,&w);
int u,v,cost;
cnt=0;
for (int i=0;i<m;i++){
scanf("%d%d%d",&u,&v,&cost);
u--;v--;
}
for (int i=0;i<w;i++){
scanf("%d%d%d",&u,&v,&cost);
u--;v--;
}
if (find_negative_loop())printf("YES\n");
else printf("NO\n");
}
return 0;
}

3268：

#include<cstdio>
#include<algorithm>
#include<queue>
#include<cstring>
#include<vector>
#define maxn 10000
#define INF 0x7f7f7f7f
using namespace std;
int n,m,id;
struct Edge{
int from,to,dist;
Edge(int from,int to,int dist):from(from),to(to),dist(dist){}
};
struct HeapNode{
int d,u;
bool operator < (HeapNode rhs)const{
return d>rhs.d;
}
HeapNode(int d,int u):d(d),u(u){};
};
struct Dijkstra{
int n,m;
vector<Edge> edges;
vector<int> G[maxn];
bool done[maxn];
int d[maxn];
int p[maxn];
void init (int n){
this->n=n;
for (int i=0;i<n;i++) G[i].clear();
edges.clear();
}
edges.push_back(Edge(from,to,dist));
m=edges.size();
G[from].push_back(m-1);
}
void dijsktra(int s){
priority_queue<HeapNode> Q;
for (int i=0;i<n;i++) d[i]=INF;
d[s]=0;
memset(done,0,sizeof(done));
Q.push(HeapNode(0,s));
while (!Q.empty()){
HeapNode x=Q.top();Q.pop();
int u=x.u;
if (done[u])continue;
done[u]=true;
for (int i=0;i<G[u].size();i++){
Edge e=edges[G[u][i]];
if (d[e.to]>d[u]+e.dist){
d[e.to]=d[u]+e.dist;
p[e.to]=G[u][i];
Q.push(HeapNode(d[e.to],e.to));
}
}
}
}
}G1,G2;
int main(){
scanf("%d%d%d",&n,&m,&id);
id--;
G1.init(n);G2.init(n);
for (int i=0;i<m;i++){
int u,v,w;
scanf("%d%d%d",&u,&v,&w);
u--;v--;
}
G1.dijsktra(id);
G2.dijsktra(id);
int ans=G1.d[0]+G2.d[0];
for (int i=1;i<n;i++)ans=max(ans,G1.d[i]+G2.d[i]);
printf("%d",ans);
return 0;
}

#### Hrbust 1795 发现王国之旅【MST】

2016-07-27 14:55:59

#### poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告

2009年10月06日 9KB 下载

#### POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类

2010年05月03日 8KB 下载

#### Cocos2d-x 3.x游戏开发之旅_PDF电子书下载 带书签目录 高清完整版.pdf

2015年09月21日 66.13MB 下载

#### Cocos2d-x游戏开发之旅 免费 带书签 pdf 书

2014年11月03日 46.77MB 下载

#### 给初学者：用VB写外挂 ———— 实战三：泰坦之旅V1.08 十项属性修改器——另一种无输入焦点时响应按键的方法

2006-09-30 12:04:00

#### POJ - 1042 Gone Fishing 钓鱼 动态规划(DP)

2016-09-06 20:24:03

#### NOIP 2012 普及组 复赛 culture 文化之旅

2017-03-04 09:15:21

#### 【原创】【NOIP】文化之旅

2016-11-03 13:57:26