题目:http://poj.org/problem?id=3013

求每个点到1的最短路。不是最小生成树。

总是WA。看讨论里说INF至少2e10,于是真的A了!

算一下,dis最大可能3276800000,于是开成3276800001,果然可A!还快了16ms(?)!

不过出现了: [Warning] this decimal constant is unsigned only in ISO C90 [enabled by default]。是什么意思呢?

总之以后设上界的时候还是略算一下。何况自己常用的0x 7 f f f f f f f也并不是十分大。

#include<iostream>
#include<cstdio>
#include<cstring>
#include<queue>
using namespace std;
const long long INF=;
int T,n,m,head[],xnt,x,y,c[],z;
long long ans,dis[];
bool in[],flag;
struct Edge{
int next,to,w;
Edge(int ne=,int t=,int o=):next(ne),to(t),w(o) {}
}edge[];
queue<int> q;
void spfa()
{
while(q.size())q.pop();
memset(in,,sizeof in);
in[]=;dis[]=;
q.push();
while(q.size())
{
int k=q.front();q.pop();
in[k]=;///////!
for(int i=head[k],v;i;i=edge[i].next)
if(dis[k]+edge[i].w<dis[v=edge[i].to])
{
dis[v]=dis[k]+edge[i].w;
if(!in[v])
{
in[v]=;////////!
q.push(v);
}
}
}
}
int main()
{
scanf("%d",&T);
while(T--)
{
memset(head,,sizeof head);
ans=;xnt=;flag=;
scanf("%d%d",&n,&m);
for(int i=;i<=n;i++)scanf("%d",&c[i]),dis[i]=INF;
for(int i=;i<=m;i++)
{
scanf("%d%d%d",&x,&y,&z);
edge[++xnt]=Edge(head[x],y,z);head[x]=xnt;
edge[++xnt]=Edge(head[y],x,z);head[y]=xnt;
}
spfa();
for(int i=;i<=n;i++)
{
if(dis[i]==INF)
{
flag=;break;
}
ans+=c[i]*dis[i];
}
if(flag) printf("No Answer\n");
else printf("%lld\n",ans);
}
return ;
}

POJ3013 Big Christmas Tree的更多相关文章

  1. POJ3013 Big Christmas Tree[转换 最短路]

    Big Christmas Tree Time Limit: 3000MS   Memory Limit: 131072K Total Submissions: 23387   Accepted: 5 ...

  2. POJ3013 Big Christmas Tree(最短路径树)

    题目大概说给一张点和边都有权的图,现在要求其一棵以1结点为根的生成树使树的边权和最小,树边权 = 对应的图边权 * 树边末端点为根的子树所有结点对于图顶点的点权和. 要求∑(边权*子树点权和),等价于 ...

  3. Big Christmas Tree(poj-3013)最短路

    Big Christmas Tree Time Limit: 3000MS   Memory Limit: 131072K Total Submissions: 25823   Accepted: 5 ...

  4. poj 3013 Big Christmas Tree

    Big Christmas Tree Time Limit: 3000MS   Memory Limit: 131072K Total Submissions: 20974   Accepted: 4 ...

  5. poj 3013 Big Christmas Tree (最短路径Dijsktra) -- 第一次用优先队列写Dijsktra

    http://poj.org/problem?id=3013 Big Christmas Tree Time Limit: 3000MS   Memory Limit: 131072K Total S ...

  6. poj 3013 Big Christmas Tree Djistra

    Big Christmas Tree 题意:图中每个节点和边都有权值,图中找出一颗树,树根为1使得 Σ(树中的节点到树根的距离)*(以该节点为子树的所有节点的权值之和) 结果最小: 分析:直接求出每个 ...

  7. POJ 3013 Big Christmas Tree(最短Dijkstra+优先级队列优化,SPFA)

    POJ 3013 Big Christmas Tree(最短路Dijkstra+优先队列优化,SPFA) ACM 题目地址:POJ 3013 题意:  圣诞树是由n个节点和e个边构成的,点编号1-n. ...

  8. POJ Big Christmas Tree(最短的基础)

    Big Christmas Tree 题目分析: 叫你构造一颗圣诞树,使得 (sum of weights of all descendant nodes) × (unit price of the ...

  9. HDU - 5156 Harry and Christmas tree

    题目链接 : http://acm.hdu.edu.cn/showproblem.php?pid=5156 题意 : 给一颗编号为1-n的以1为根的树, 已知有m个颜色的礼物分布在某些节点上(同一节点 ...

随机推荐

  1. linux tcpdump 抓包

    tcpdump是linux命令行下常用的的一个抓包工具,记录一下平时常用的方式,测试机器系统是ubuntu 12.04. tcpdump的命令格式 tcpdump的参数众多,通过man tcpdump ...

  2. 在Ubuntu系统下设置永久性Swap交换空间(转帖)

    http://blog.sina.com.cn/s/blog_6e4388910100tsk7.html swap 一般都在一个专有的swap区里,这可能是因为在安装的时候系统会提示你创建一个swap ...

  3. java并发编程:线程安全管理类--原子操作类--AtomicReferenceFieldUpdater<T,V>

    1.类 AtomicReferenceFieldUpdater<T,V> public abstract class AtomicReferenceFieldUpdater<T,V& ...

  4. httpclient 连接参数

    http.socket.timeout(读取超时) 套接字毫秒级超时时间(SO_TIMEOUT),这就是等待数据,换句话说,在两个连续的数据包之间最大的闲置时间. 如果超时是0表示无限大的超时时间,即 ...

  5. ansible role[初稿]

    ansible roles role_name/ files/:存储由copy或script等模块调用的文件: tasks/:此目录中至少应该有一个名为main.yml的文件,用于定义各task:其它 ...

  6. InstallShield中打包ArcEnineRuntime

    InstallShield中打包ArcEnineRuntime 最近研究了一阵应用程序的打包,几天下来也算颇有收获.普通的.net程序打包相对简单一点,不过ArcEngine的应用程序还涉及到Engi ...

  7. <constant name="struts.devMode" value="false" />

    在开发中,我们常常会遇到<constant name="struts.devMode" value="false" />,这是struts2的特性, ...

  8. ReactNative——UI1.登录界面样式设置

    使用React 基本组件结合flex 属性,实现简单登录布局UI 效果 效果预览:

  9. js 压缩 预览 上传图片

    com.js export const compressImage=function (files,fn,preCallbackFn,i) { let newfile = files.files[0] ...

  10. Ubuntu install TensorFlow

    /******************************************************************************** * Ubuntu install T ...