我顺便明白了。。。。英文题意理解其实好大一部分还是靠感觉,然后自己猜题意,试题意。

你要是纠结于英文你就跪了。

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <queue>
using namespace std; typedef long long LL; const int maxn=50005;
const LL INF=6000000000;
bool vis[maxn*2];
int a[maxn*2],u[maxn*2],v[maxn*2],w[maxn*2],cost[maxn*2],first[maxn*2],next[maxn*2];
LL d[maxn];
int n,e;
queue<int> q; LL spfa()
{
LL ans=0;
memset(vis,0,sizeof(vis));
for(int i=1;i<=n;i++) d[i]=(i==1)?0:INF;
q.push(1);
while(!q.empty())
{
int x=q.front();q.pop();
vis[x]=false; //清除在队列中标志。
for(int e=first[x];e!=-1;e=next[e])
if(d[v[e]]>d[x]+w[e])
{
d[v[e]]=d[x]+w[e];
if(!vis[v[e]])
{
vis[v[e]]=true;
q.push(v[e]);
}
}
} for(int i=1;i<=n;i++)
{
if(d[i]==INF) return 0;
else ans+=a[i]*d[i];
}
return ans;
} int main()
{
int case_num;
scanf("%d",&case_num);
while(case_num--)
{
scanf("%d%d",&n,&e);
for(int i=1;i<=n;i++)
scanf("%d",&a[i]);
memset(first,-1,sizeof(first));
for(int i=1;i<=2*e;i+=2)
{
scanf("%d%d%d",&u[i],&v[i],&w[i]);
next[i]=first[u[i]];//还只能先处理next,后first
first[u[i]]=i; u[i+1]=v[i];//双向边
v[i+1]=u[i];
next[i+1]=first[u[i+1]];
first[u[i+1]]=i+1;
w[i+1]=w[i];
}
if(v==0) {printf("0\n");continue;}
if(e==0) {printf("0\n");continue;} LL ans=spfa();
if(ans==0)
printf("No Answer\n");
else
printf("%lld\n",ans);
}
return 0;
}

POJ3313 【随便写了个spfa就一A了,嗨皮】的更多相关文章

  1. Jquery 随便写些知识点

    针对jQuery随便写些觉得还挺实用的一些东西,也没系统的去理一番,只是想到哪写到哪,写的不完全也请多见谅. jQuery和其他javascript库产生$符号冲突了?$符号想必用jQuery的人都不 ...

  2. 随便写一点最近开发遇到的问题和解决方法 大部分关于laravel和php

    laravel里要想对对象进行自己设计的排序(usort()), 得用匿名方法,  原声php就不用 php里面可以随便写html代码,  比如可以把html直接后缀名改成.php, 然后在任何地方& ...

  3. Jquery网页加载进度条(随笔,当然要随便写,当日记动态心情写咯)

    首先先是吐槽时间... 告诉大家一个好消息,就是有个妹子非常仰慕我的前端技术说要包养我 然后有好多羡慕嫉妒恨的童鞋一定要说,少年你太天真了,那一定是HR 然后我表示她不是HR,本宅的春天貌似要到来了. ...

  4. 忙了好一阵,今天随便写篇关于canvas的小东西

    前几天在朋友圈发了几条3D demo视频,其中就有3D空间组成各种图形.如上! 那么这些图形的每个mesh的坐标可不是手动去写,如果你愿意我当然不拦着!所以今天这篇就来介绍如何获得这些图形的坐标数据. ...

  5. 实现一个最简单的VIM文本编辑器(可能有bug,随便写了一个)

    简单的写了一个文本编辑器,功能很简单,但足以把文件IO相关的操作熟悉了,可能功能或者分配的大小还不够完善.请参考参考: #include <stdio.h> #include <co ...

  6. H5取经之路——随便写点儿

    [相对定位] * 1.使用position:relative:设置元素为相对定位的元素: * 2.定位机制: ①相对于自己原来文档流中的的位置定位,当不指定top等定位值时,不会改变元素位置: ②相对 ...

  7. java用POI操作excel——随便写一下,最基础的东西

    前两天部门实施在做一个东西,需要把客户放在Excel中的数据导入到Oracle数据库中,我就想着直接写一个模板,必要的时候改一下实体类应该可以解放实施同事的双手,不过在实际写的过程中,还是碰到很多问题 ...

  8. 今天一天课,随便写点吧/xk

    知道的越多,不知道的也就越多. 最近想学很多很多东西,但是发现没有一个计划,也没有那么多时间精力,都是想到哪学到哪,有的就是学了一半就放下了,又去学新的,感觉需要规划一下学习路线,时间什么的 推荐一个 ...

  9. Vue.js的小例子--随便写的

    1.领导安排明天给同事们科普下vue 2.简单写了两个小例子 3.话不多说直接上代码 <!DOCTYPE html> <html> <head> <meta ...

随机推荐

  1. c#基础练习之if结构

    using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace if语句 ...

  2. c语言,数组和字符串

    1. “数组名代表了数组的存储首地址,是一个地址常量”. 对于char *p1 = "A String."; 和 char p2[] = "Another String. ...

  3. kali 国内镜像源,以及PD_tools,Vm_tools的安装

    kali 系统apt-get 更新镜像源,往上分享的有,这里整理下 中科大kali源 deb http://mirrors.ustc.edu.cn/kali sana main non-free co ...

  4. COCOS2D-X之圆形进度条的一个简单Demo

    这应该是游戏中很常见的一个效果.显示某个事件的进度等,在加载资源或者联网的时候经常用到.所以有必要学习学习 一.我们直接在COCOS2D-X自带的HelloCpp的工程中添加代码即可.我们在初始化中添 ...

  5. anglehack参赛总结

    自已不足的方面: 自已和伙伴是带着idea去的,但是没有带有很大的热情激励和吸引在场的hacker加入团队,一定要找最优秀的人加入团队,事实上我是有这方面识人认人的能力的,24h,5-6个人的优秀团队 ...

  6. Java--Eclipse关联Java源码

    打开Eclipse,Window->Preferences->Java 点Edit按钮后弹出: 点Source Attachment后弹出: 选择Java安装路径下的src.zip文件即可 ...

  7. linux命令:使用man, 导出man

    要查一个命令怎么使用,使用"man 命令", eg: man find, man ls; "info 命令"貌似也可以看, info find, info ls ...

  8. Linux路由器

    Linux路由器 武溪嵌人 钻研嵌入式,改变未来 http://blog.csdn.net/zhang_danf     Linux路由器 http://blog.csdn.net/zhang_dan ...

  9. QString与char*的相互转换

    原地址:http://blog.sina.com.cn/s/blog_5c70dfc80100r0nh.html 一.QString转char*   QString str; int num=0; s ...

  10. Duanxx的C++学习: 使用类没有被定义 原因及解决方法

    今天,随着C++写的神经网络算法.我发现了一个很令人费解的问题,下面的描述一般地描述,例如: 我有两个类ClassA和ClassB,它们分别有成员变量a.b; ClassA有一个函数是这种:Funct ...