Test for Job spfa变形 注意精度
2013-08-05 11:58
330 查看
http://poj.org/problem?id=3249
题意:给出一个有向图图 每点有一个权值 全职有正有负 找从任意一点出发的总权值最大的路径 输出其最大值
用spfa 。。 初始把入度为0的点加入队列 因为数值很大 所以要用到longlong 型
注意 最后输出maxx 也要是longlong型 一开始没注意到这个 wa很久 搞得人都要抓狂了
题意:给出一个有向图图 每点有一个权值 全职有正有负 找从任意一点出发的总权值最大的路径 输出其最大值
用spfa 。。 初始把入度为0的点加入队列 因为数值很大 所以要用到longlong 型
注意 最后输出maxx 也要是longlong型 一开始没注意到这个 wa很久 搞得人都要抓狂了
#include<iostream> #include<string.h> #include<stdio.h> #include<queue> #define INF 1000000000 using namespace std; struct E {int to;int next;}edge[2000002]; int w[100012],adj[100012],num,in0[100012],vis[100002]; queue<int > q; long long d[100012]; void add(int a,int b) { edge[num].to =b; edge[num].next =adj[a]; adj[a]=num++; } int main() { int i,j,n,m,a,b,t,v; while(scanf("%d%d",&n,&m)!=EOF) { for(i=1;i<=n;i++) scanf("%d",&w[i]); memset(adj,-1,sizeof(adj)); memset(in0,0,sizeof(in0)); for(i=1;i<=n;i++) d[i]=-1*INF; num=0; while(m--) { scanf("%d%d",&a,&b); add(b,a); in0[a]=1; //rudu buwei 0 } memset(vis,0,sizeof(vis)); long long max1=-1*INF; for(i=1;i<=n;i++) if(in0[i]==0) { q.push (i); d[i]=w[i]; vis[i]=1; } while(!q.empty ()) { t=q.front ();q.pop ();vis[t]=0; for(i=adj[t];i!=-1;i=edge[i].next ) { v=edge[i].to ; if(d[v]<d[t]+w[v]) { d[v]=d[t]+w[v]; if(!vis[v]) { q.push (v); vis[v]=1; } } } } long long maxx=-1*INF; for(i=1;i<=n;i++) { //printf("i %d %d\n",i,d[i]); if(adj[i]==-1&&maxx<d[i]) maxx=d[i]; } printf("%lld\n",maxx); } return 0; }
相关文章推荐
- Aizu 1311 Test Case Tweaking(spfa变形,dp)
- UVA-10200 Prime Time 素数(注意除法精度)
- 注意在<s:if test="#session.user.power==0">中不能用 <s:if test=$sessionScope.user.power==0">
- UVA 11280 - Flying to Fredericton SPFA变形
- hdoj 2899 Strange fuction 【二分查找 注意精度】
- codeforces 500D New Year Santa Network (树结构, 组合, 概率(注意精度))
- hdu4360 As long as Binbin loves Sangsang spfa变形
- hdu 3986 Harry Potter and the Final Battle spfa变形
- Struts2 用 s:if test 判断属性和字符串相等时 注意双引号和单引号的使用
- VS2003.Net下OpenIPMP的OMADRMTest.sln的编译注意事项
- POJ 3249 Test for Job【SPFA】
- Mybatis if test 判断数字时需要注意
- POJ - 1730 注意看题..精度要留意..
- HDU 1056 Hang over 主要是注意精度
- hdu 2519 排列组合数(注意精度)
- Ballot evaluation 注意精度问题
- Struts2 用 s:if test 判断属性和字符串相等时 注意双引号和单引号的使用
- Mybatis中 if test 判断数值字符串注意项
- POJ3255(spfa变形,很好的一道题)
- 提高C8051F350中ADC精度应注意的一些问题