博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Luogu P1073 最优贸易(NOIp提高组 2009)分层图最短路写法
阅读量:5214 次
发布时间:2019-06-14

本文共 1024 字,大约阅读时间需要 3 分钟。

注意不要用Dijkstra!

注意不要用Dijkstra!!

注意不要用Dijkstra!!!

因为有负权边

#include
#include
#include
#include
#include
using namespace std;int n,m,value[100005],head[500005],dis[500005],vis[500005],cnt;struct edge{ int v,w,next;}e[5000005];inline void add(int u,int v,int w){ e[++cnt].v=v; e[cnt].w=w; e[cnt].next=head[u]; head[u]=cnt;}inline void emm(int x,int y){ add(x,y,0);add(x+n,y+n,0);add(x+2*n,y+2*n,0); add(x,y+n,-value[x]); add(x+n,y+2*n,value[x]);}inline void spfa(){ memset(dis,-0x3f,sizeof(dis)); queue
q; q.push(1); dis[1]=0; while(!q.empty()){ int u=q.front(); q.pop(); vis[u]=0; for(int i=head[u];i!=-1;i=e[i].next){ int v=e[i].v; if(dis[v]
q; dis[1]=0; q.push((node){0,1}); while(!q.empty()){ int x=q.top().u; q.pop(); if(vis[x])continue; vis[x]=1; for(int i=head[x];i!=-1;i=e[i].next){ int y=e[i].v; if(dis[y]

转载于:https://www.cnblogs.com/Y15BeTa/p/11372897.html

你可能感兴趣的文章
runC爆严重安全漏洞,主机可被攻击!使用容器的快打补丁
查看>>
Maximum Product Subarray
查看>>
solr相关配置翻译
查看>>
通过beego快速创建一个Restful风格API项目及API文档自动化(转)
查看>>
解决DataSnap支持的Tcp长连接数受限的两种方法
查看>>
Synchronous/Asynchronous:任务的同步异步,以及asynchronous callback异步回调
查看>>
ASP.NET MVC5 高级编程-学习日记-第二章 控制器
查看>>
Hibernate中inverse="true"的理解
查看>>
高级滤波
查看>>
使用arcpy添加grb2数据到镶嵌数据集中
查看>>
[转载] MySQL的四种事务隔离级别
查看>>
QT文件读写
查看>>
C语言小项目-火车票订票系统
查看>>
15.210控制台故障分析(解决问题的思路)
查看>>
BS调用本地应用程序的步骤
查看>>
常用到的多种锁(随时可能修改)
查看>>
用UL标签+CSS实现的柱状图
查看>>
mfc Edit控件属性
查看>>
Linq使用Join/在Razor中两次反射取属性值
查看>>
[Linux]PHP-FPM与NGINX的两种通讯方式
查看>>