没想到手感还在~ 不须要又一次建图。仅仅要依据条件改改权值就可以。

还跑k次SPFA~

#include<cstdio>
#include<iostream>
#include<stack>
#include<queue>
#include<algorithm>
using namespace std;
const int MAXN=600; const int MAXE=500*500*2+100;
int e[MAXE][3];int head[MAXN];int nume;
int n,m,k;
void adde(int i,int j,int w)
{
e[nume][0]=j;e[nume][1]=head[i];head[i]=nume;
e[nume++][2]=w;
}
int dfn[MAXN];int low[MAXN];int ins[MAXN];stack<int>sta;
int times;int scc[MAXN];int block;int vis[MAXN];
void tarjan(int u)
{
dfn[u]=low[u]=times++;
ins[u]=1;
sta.push(u);
for(int j=head[u];j!=-1;j=e[j][1])
{
int v=e[j][0];
if(!vis[v])
{
vis[v]=1;
tarjan(v);
low[u]=min(low[u],low[v]);
}
else if(ins[v])
{
low[u]=min(low[u],dfn[v]);
}
}
if(dfn[u]==low[u])
{
int cur;
block++;
do
{
cur=sta.top();
sta.pop();
ins[cur]=0;
scc[cur]=block;
}while(cur!=u);
}
}
void rebuild()
{
for(int i=1;i<=n;i++)
for(int j=head[i];j!=-1;j=e[j][1])
{
int to=e[j][0];
if(scc[i]==scc[to])
{
e[j][2]=0;
}
}
}
int d[MAXN];int inq[MAXN];
const int inf=0x3f3f3f3f;
int spfa(int s,int t)
{
for(int i=1;i<=n;i++)
{
d[i]=inf;
inq[i]=0;
}
d[s]=0;
queue<int>q;
q.push(s);
inq[s]=1;
while(!q.empty())
{
int cur=q.front();
q.pop();
inq[cur]=0;
for(int j=head[cur];j!=-1;j=e[j][1])
{
int to=e[j][0];
if(d[to]>d[cur]+e[j][2])
{
d[to]=d[cur]+e[j][2];
if(!inq[to])
{
inq[to]=1;
q.push(to);
}
}
}
}
return d[t];
} void init()
{
for(int i=0;i<MAXN-2;i++)
{
vis[i]=dfn[i]=low[i]=ins[i]=0;
head[i]=-1;
}
block=nume=times=0;
}
int main()
{
while(~scanf("%d%d",&n,&m)&&n)
{
init();
for(int i=0;i<m;i++)
{
int aa,bb,cc;
scanf("%d%d%d",&aa,&bb,&cc);
adde(aa,bb,cc);
}
scanf("%d",&k);
for(int i=1;i<=n;i++)
{
if(!vis[i])
{
vis[i]=1;
tarjan(i);
}
}
rebuild();
int ss,tt;
for(int i=0;i<k;i++)
{
scanf("%d%d",&ss,&tt);
int ans=spfa(ss,tt);
if(ans!=inf)
printf("%d\n",ans);
else
printf("Nao e possivel entregar a carta\n");
}
printf("\n");
}
return 0;
}

POJ3114 有些图缩点/改图/最短路的更多相关文章

  1. POJ 3592--Instantaneous Transference【SCC缩点新建图 &amp;&amp; SPFA求最长路 &amp;&amp; 经典】

    Instantaneous Transference Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 6177   Accep ...

  2. HDU 1045 Fire Net(行列匹配变形+缩点建图)

    题意:n*n的棋盘上放置房子.同一方同一列不能有两个,除非他们之间被墙隔开,这种话. 把原始图分别按行和列缩点 建图:横竖分区.先看每一列.同一列相连的空地同一时候看成一个点,显然这种区域不可以同一时 ...

  3. KRPano资源分析工具使用说明(KRPano XML/JS解密 切片图批量下载 球面图还原 加密混淆JS还原美化)

    软件交流群:571171251(软件免费版本在群内提供) krpano技术交流群:551278936(软件免费版本在群内提供) 最新博客地址:blog.turenlong.com 限时下载地址:htt ...

  4. PS-前端切图教程(切jpg图和切png图)

    微微一运功,把家底都抖出来了. 不过,作为一个设计出身的前端来说,摸ps就和摸键盘一样了 所以可能教程中还是有没用过ps的人看不懂的地方, 欢迎加群讨论:613512106... ---------- ...

  5. Tableau绘制漏斗图、甘特图、瀑布图、镶边面积图、阴影坡度图

    Tableau绘制漏斗图.甘特图.瀑布图.镶边面积图.阴影坡度图 本文首发于博客冰山一树Sankey,去博客浏览效果更好.直接右上角搜索该标题即可 一. 漏斗图 数据源 1.1 分色直条漏斗图 (1) ...

  6. matlab 将多个盒图放在一张图上

    1.boxplot 将多个盒图放在一张图上 x1 = normrnd(5,1,100,1)';x2 = normrnd(6,1,200,1)';X = [x1 x2];G = [zeros(size( ...

  7. iOS启动图和开屏广告图,类似网易

    iOS启动图和开屏广告图,类似网易 启动图是在iOS开发过程中必不可少的一个部分,很多app在启动图之后会有一张自定义的开屏广告图,点击该广告图可以跳转到广告图对应的页面.今天呢,和大家分享一下如何添 ...

  8. Shader中贴图知识汇总: 漫反射贴图、凹凸贴图、高光贴图、 AO贴图、环境贴图、 光照纹理及细节贴图

    原文过于冗余,精读后做了部分简化与测试实践,原文地址:http://www.j2megame.com/html/xwzx/ty/2571.html   http://www.cnblogs.com/z ...

  9. 功能模块图、业务流程图、处理流程图、ER图,数据库表图(概念模型和物理模型)画法

    如果你能使用计算机规范画出以下几种图,那么恭喜你,你在我这里被封为学霸了,我膜拜ing-- 我作为前端开发与产品经理打交道已有5-6年时间,产品经理画的业务流程图我看过很多.于是百度搜+凭以往经验脑补 ...

随机推荐

  1. php msql 表单

    http://www.cnblogs.com/webers/p/3849707.html

  2. Spring Boot + Mybatis 多数据源配置实现读写分离

    本文来自网易云社区 作者:王超 应用场景:项目中有一些报表统计与查询功能,对数据实时性要求不高,因此考虑对报表的统计与查询去操作slave db,减少对master的压力. 根据网上多份资料测试发现总 ...

  3. TPS限流

    限流是高可用服务需要具备的能力之一 ,粗暴简单的就像我们之前做的并发数控制.好一点的有tps限流,可用令牌桶等算法实现.<亿级流量网站架构核心技术>一书P67限流详解也有讲.dubbo提供 ...

  4. PHP 开启或关闭错误提示

    如果不具备修改 php.ini 的权限,可以如下: // 只需在php文件中加入这两句即可开启PHP错误提示 ini_set("display_errors", "On& ...

  5. js 获取data-属性值

    ].getAttribute('data-price'); 注意 document.getElementsByClassName('1pc_price')后面有[0],不然会报错.

  6. pip installl安装包特别慢? 指定源进行安装

    指定源地址安装: pip install -i http://pypi.douban.com/simple/ packagename pip install -i http://pypi.tuna.t ...

  7. centos7下nginx添加到自定义系统服务中提示Access denied

    安装好nginx后,添加到系统服务中 在/usr/lib/systemd/system下创建nginx.service文件内容如下: [Unit] Description=nginx - high p ...

  8. 浏览器提示ERR_CONTENT_DECODING_FAILED,Gzip压缩数据无法解压

    最近在页面上有个显示数据表格的功能,数据由后台传给前台JS表格插件.数据格式为JSON 由于数据量很大,就想到用GZIP压缩以后传给前台.压缩前,某个表格的数据量达到3M多,用GZIP压缩后就200K ...

  9. 阿里云 fatal: Authentication failed 退出码 128

    阿里云拉取代码时需要输入的用户名密码 跟我们登录aliyun的时候的账号密码不一样,需要先重置一下的,重置之前要配置好邮箱 https://code.aliyun.com/profile/passwo ...

  10. STL之set容器的总结

    最近做了很多题型,都是用简单的STL就解决了,深刻的感觉到STL的伟大力量,但是本人在遇到问题的时候还是喜欢用常规的算法去解决问题,脑袋笨没办法,有时候根本想不到用STL去解决一些问题 往往都是砍了网 ...