最短路复杂度估计错误 以为SPFA是N*m的 用了dij超时 用SPFA直接跑就好了

O(k*e) K 一般为2,3;

 /*
ID: shangca2
LANG: C++
TASK: butter
*/
#include <iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<stdlib.h>
#include<queue>
using namespace std;
#define M 1500
#define P 850
#define N 550
#define INF 0xfffffff
struct node
{
int u,v,w,next;
}ed[M<<];
int t,head[P],dis[P],a[N],n,p,c,vis[P],f[P],k[P],o[P][P];
void init()
{
t = ;
memset(head,-,sizeof(head));
}
void add(int u,int v,int w)
{
ed[t].u = u;
ed[t].v = v;
ed[t].w = w;
ed[t].next = head[u];
head[u] = t++;
}
void spfa(int st)
{
int i;
memset(vis,,sizeof(vis));
for(i = ; i <= p ; i++)
dis[i] = INF;
dis[st] = ;
queue<int>q;
vis[st] = ;
q.push(st);
while(!q.empty())
{
int u = q.front();
q.pop();
vis[u] = ;
for(i = head[u]; i != - ;i = ed[i].next)
{
int v = ed[i].v;
if(ed[i].w+dis[u]<dis[v])
{
dis[v] = ed[i].w+dis[u];
if(!vis[v])
{
vis[v] = ;
q.push(v);
}
}
}
}
for(i = ; i <= p ; i++)
{
if(o[st][i]>dis[i])
{
o[st][i] = dis[i];
o[i][st] = dis[i];
}
}
}
int main()
{
freopen("butter.in","r",stdin);
freopen("butter.out","w",stdout);
int i,j,u,v,w;
init();
cin>>n>>p>>c;
for(i = ;i <= p ; i++)
for(j = ; j <= p ; j++)
o[i][j] = INF;
for(i = ; i <= n ;i++)
cin>>a[i];
for(i = ; i <= c ;i++)
{
scanf("%d%d%d",&u,&v,&w);
add(u,v,w);
add(v,u,w);
}
for(i = ; i <= n ;i++)
{
if(!f[a[i]])
{
f[a[i]] = ;
spfa(a[i]);
}
}
int minz = INF;
for(i = ; i <= p ; i++)
{
int s = ;
for(j = ; j <= n ; j++)
{
if(a[j]!=i)
s+=o[a[j]][i];
}
minz = min(minz,s);
}
printf("%d\n",minz);
return ;
}

USCAO3.26Sweet Butter(SPFA)的更多相关文章

  1. P1828 香甜的黄油 Sweet Butter (spfa)

    题目描述 农夫John发现做出全威斯康辛州最甜的黄油的方法:糖.把糖放在一片牧场上,他知道N(1<=N<=500)只奶牛会过来舔它,这样就能做出能卖好价钱的超甜黄油.当然,他将付出额外的费 ...

  2. 模板C++ 03图论算法 1最短路之单源最短路(SPFA)

    3.1最短路之单源最短路(SPFA) 松弛:常听人说松弛,一直不懂,后来明白其实就是更新某点到源点最短距离. 邻接表:表示与一个点联通的所有路. 如果从一个点沿着某条路径出发,又回到了自己,而且所经过 ...

  3. sgu 240 Runaway (spfa)

    题意:N点M边的无向图,边上有线性不下降的温度,给固定入口S,有E个出口.逃出去,使最大承受温度最小.输出该温度,若该温度超过H,输出-1. 羞涩的题意 显然N*H的复杂度dp[n][h]表示到达n最 ...

  4. codevs 1021 玛丽卡(spfa)

    题目描述 Description 麦克找了个新女朋友,玛丽卡对他非常恼火并伺机报复. 因为她和他们不住在同一个城市,因此她开始准备她的长途旅行. 在这个国家中每两个城市之间最多只有一条路相通,并且我们 ...

  5. codevs 3290 华容道(SPFA+bfs)

    codevs 3290华容道 3290 华容道 2013年NOIP全国联赛提高组 时间限制: 1 s  空间限制: 128000 KB 题目描述 Description 小 B 最近迷上了华容道,可是 ...

  6. 城堡 (spfa+cheng)

    [问题描述] 给定一张?个点?条边的无向连通图,每条边有边权.我们需要从?条边中选出? − 1条, 构成一棵树. 记原图中从 1 号点到每个节点的最短路径长度为? ? ,树中从 1 号点到每个节点的最 ...

  7. [BZOJ 1295][SCOI2009]最长距离(SPFA+暴力)

    题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1295 分析:很巧妙的一道spfa从搜索的角度是搜索在所有1中搜索删除哪T个1,对整个图询问,这 ...

  8. 【BZOJ】1097: [POI2007]旅游景点atr(spfa+状压dp)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1097 首先还是我很sb....想到了分层图想不到怎么串起来,,,以为用拓扑序搞转移,,后来感到不行. ...

  9. 【TYVJ】1467 - 通向聚会的道路(spfa+特殊的技巧)

    http://tyvj.cn/Problem_Show.aspx?id=1467 这题我并不是看题解a的.但是确实从题解得到了启发. 一开始我就想到一个正解,设d[i][0]表示i开始走过奇数个点的最 ...

随机推荐

  1. OC 将NSString写入本地文件

    最近在公司偶尔遇到一些不经常复现的bug,为了调试,只好把关键值记录到本地文件中,在遇到问题时,调出本地文件查看一下就可以很方便的知道是不是代码逻辑的错误或者问题考虑不够周全了. 废话不多说,流程在代 ...

  2. (转)使用inotify、inotify_add_watch、inotify_rm_watch、read编写监控程序

    转自:http://blog.csdn.net/myarrow/article/details/7096460 inotify是什么 inotify是文件系统变化通知机制,在监听到文件系统变化后,会向 ...

  3. linux 下使用crontab 定时打包日志并删除已被打包的日志

    crontab是和用户相关的,每个用户有自己对应的crontab . cron是Linux下的定时执行工具,以下是重启/关闭等等的命令 #/sbin/service crond start //启动服 ...

  4. HTML5新增标签属性

    ----- 新类型表单 - email 自动校验输入的是不否是email 邮箱:<input type="email" name="user_email" ...

  5. c#抽象工厂类

    抽象工厂类的结构如下: 工厂 a=new 1工厂 抽象类A aa=a.createA() aa.create()==类A1.create() 抽象类B bb=a.createB() bb.get()= ...

  6. AVAudioPlayer 播放音频

    play方法 实现立即播放音频功能 pause方法 可以对播放暂停 stop方法 可以停止播放行为 注: pause & stop的不同之处: 调用stop方法会撤销调用prepareToPl ...

  7. 配置 Struts2 Hello World

    http://javaweb.group.iteye.com/group/wiki/1505-struts2-under-helloworld---how-to-make-the-first-of-t ...

  8. JAVA学习资料整理

    今天偶然间发现之前一个群里发过的一篇关于JAVA学习资料的东西.本着服务大众的精神,搬来了博客园: <JAVA编程思想>第四版(英文原版) 下载地址:http://115.com/file ...

  9. 2016041601 - maven用途

    以前只是使用maven只是当成jar依赖管理工具,并没有想到它有多么厉害的功能.现在看书系统学习maven才发现它的强大之处.个人认为通过博客去学习掌握一门技术,这是很低层次的学习方法.学习金字塔,学 ...

  10. 2014年度辛星html教程夏季版第八节

    经过前面七节的学习,我感觉大家的HTML的功底也差不多了,而且我特别的删去了某些东西,比如框架,如果回到几年前,那么框架是非常流行的,但是现在都到了2014年了,这些东西早就该被遗忘了,因此,我果断的 ...