/*
SPFA模板
*/
const int inf=0x3f3f3f3f;
inline int SPFA(int s){
memset(dis,inf,sizeof(dis));
queue<int > q;
dis[s]=;
q.push(s);
vis[s]=;
while(!q.empty()){
int u=q.front;
q.pop();
vis[u]=;
for(int i=head[u];i;i=edge[i].next ){
int v=edge[i].to ;
if(dis[v]>dis[u]+edge[i].value ){
dis[v]=dis[u]+edge[i].value ;
if(!vis[v]){
vis[v]=;
q.push(v);
}
cntt[v]++;
if(cntt[v]>=n) return ;
}
}
}
return ;
}
/*
dijstra模板 (堆优化)
*/
const int inf=0x3f3f3f3f;
typedef pair<int ,int > p
inline void dijstra(int s){
memset(dis,inf,sizeof(dis))
priority_queue<p,vector<p>,greater<p> > q;
dis[s]=;
q.push(make_pair(,s));//pair类型默认先比较第一项
while(!q.empty()){
int u=q.top().second;
int w=q.top().first;
q.pop();
if(dis[u]!=w) continue;
for(int i=head[u];i;i=edge[i].next ){
int v=edge[i].to ;
if(dis[v]>dis[u]+edge[i].value ){
dis[v]=dis[u]+edge[i].value ;
q.push(make_pair(dis[v],v));
}
}
}
}
 /*
floyd模板
*/
inline void floyd(){
for(int k=;k<=n;k++)
for(int i=;i<=n;i++)
for(int j=;j<=n;j++){
dis[i][j]=min(dis[i][k]+dis[k][j],dis[i][j]);
//或者:
if(dis[i][j]>dis[i][k]+dis[k][j])
dis[i][j]=dis[i][k]+dis[k][j];
}
}

最新文章

  1. php cUrl模拟登录,cookie保存到文件中
  2. Oracle(控制用户权限)
  3. HDOJ 3790
  4. 通过注册表查找oracle_home的位置
  5. Unity3d插件推荐
  6. Factorials 阶乘
  7. 简述sprintf、fprintf和printf函数的区别
  8. 转:【译】Asp.net MVC 利用自定义RouteHandler来防止图片盗链
  9. find命令之(-atime,-ctime,-mtime)
  10. IntelliJ IDEA之UML类图
  11. 基于VC的MFC界面开发
  12. TCL 引用同目录下其他脚本文件--source
  13. C# ConfigurationManager不存在问题解决
  14. extern介绍
  15. 从零开始学 Web 之 HTML5(二)表单,多媒体新增内容,新增获取操作元素,自定义属性
  16. 20165303实验一 Java开发环境的熟悉
  17. lamba数据架构以及数据湖
  18. php的几个面试题
  19. 如何研究某个gene的ceRNA 网络
  20. Servlet与JSP九大内置对象的对应关系

热门文章

  1. aop动态代理 事务 threadlocal
  2. stm32 窗口看门狗学习(二)
  3. Java中的内存泄漏分析说明
  4. react做股票、期货交易遇到的问题(不完全是react)及解决方法。
  5. JQuery 的跨域方法 可跨任意网站
  6. jenkins构建&amp;发布git托管的VS工程
  7. intellijidea课程 intellijidea神器使用技巧 4-2 抽取
  8. windows远程连接Mac、Mac远程连接Mac、Mac连接Windows
  9. vue学习第二天 ------ 临时笔记
  10. solr 集群(SolrCloud 分布式集群部署步骤)