const int inf=999999999;
struct Edge{int from,to,dist;Edge(int u,int v,int d):from(u),to(v),dist(d){}
};
struct Dijkstra{int n,m;vector<Edge> edges;vector<int > G[maxn];bool done[maxn];   //永久标记int d[maxn];    //s到各点距离int p[maxn];void init(n){this->n=n;for(int i=0;i<n;i++) G[i].clear();edges.clear();}void AddEdge(int from,int to,int dist){edges.push_back(Edge(from,to,dist));m=edges.size();G[from].push_back(m-1);}struct HeapNode{int d,u;bool operator < (const HeapNode& rhs) const{return d>rhs.d;}};void dijkstra(int s){priority_queue<HeapNode> Q;for(int i=0;i<n;i++) d[i]=inf;d[s]=0;memset(done,0,sizeof(done));Q.push_back(HeapNode{0,s});while(!Q.empty()){HeapNode x=Q.top();Q.pop();int u=x.u;if(done(u)) continue;done[u]=true;for(int i=0;i<G[u].size();i++){Edge& e=edges[G[u][i]];if(d[e.to]>d[u]+e.dist){d[e.to]=d[u]+e.dist;p[e.to]=G[u][i];Q.push((HeapNode){d[e.to],e.to});}}}}
};

刘汝佳Dijkstra模板相关推荐

  1. 对刘汝佳蓝书点双连通分量(BCC)模板的理解

    /*经过简单的使用,对刘汝佳的这个板做几个简单的说明:1.算法结束后每个bcc[i]里存入一个双连通分量的点的标号,其中割点也被存进去,也就是说割点可以属于多个双连通分量2.根据刘汝佳所说的点-双连通 ...

  2. 刘汝佳《算法竞赛入门经典》---总结

    刘汝佳:<算法竞赛入门经典> 三步: 基本的数据结构+算法知识: 数论等数学基本知识: 锻炼联想建模能力.知识与实际相结合,解决实际问题! 第一章:程序设计入门 1.a/b 当a.b为整数 ...

  3. 提取了下刘汝佳推荐的题号...

    今天闲来没事上uva oj提取了下刘汝佳推荐的acm题号,原始数据如下: Volume 0. Getting Started    10055 - Hashmat the Brave Warrior ...

  4. (转)刘汝佳书上出现的一些题目

    推荐一些题目,希望对参与ICPC竞赛的同学有所帮助. POJ上一些题目在 http://162.105.81.202/course/problemSolving/   可以找到解题报告.        ...

  5. 【刘汝佳代码详解】例题6-4破损的键盘(Broken Keyboard,UVa 11988)

    立志用最少的代码做最高效的表达 You're typing a long text with a broken keyboard. Well it's not so badly broken. The ...

  6. 算法竞赛入门经典(刘汝佳)——代码笔记

    Reference: <算法竞赛入门经典>(刘汝佳)第一版.第二版 ------------------------------------------------------------ ...

  7. 刘汝佳紫书 uva1592

    刘汝佳上传的代码没耐心看...就大致照着书上写的思路写了一个...一开始发现全写错了耗了半天... 定义一个pair,这个pair里有存两个队,字符串对和int对.每每读入一行的时候看看map中是否存 ...

  8. [转]ACM-ICPC比赛随想——刘汝佳

    自己接触acm也这么久了,到底我们acmer这般为acm废寝忘食值不值得???个人觉得刘汝佳的这篇文章讲的非常好... 刘汝佳,1982年12月生,毕业于重庆外国语学校,清华大学计算机科学与技术系20 ...

  9. 刘汝佳《算法竞赛入门经典(第二版)》习题(三)

    刘汝佳<算法竞赛入门经典(第二版)>第三章习题(一) 习题3-1 得分(ACM/ICPC Seoul 2005,UVa1585) 给出一个由O和X组成的串(长度为1~80),统计得分.每个 ...

  10. 刘汝佳《算法竞赛入门经典(第二版)》习题(六)

    刘汝佳<算法竞赛入门经典(第二版)>第四章习题(4-1~4-3) 习题4-1 象棋(Xiangai,ACM/ICPC Fuzhou 2011,UVa1589) 考虑一个象棋残局,其中红方有 ...

最新文章

  1. vs2012 编译 zlib 1.2.8
  2. Android应用程序键盘(Keyboard)消息处理机制分析(3)
  3. python装饰器_Python装饰器是个什么鬼?
  4. 今晚8点:基于强化学习的关系抽取和文本分类 | PhD Talk #18
  5. poj 2769 感觉♂良好 (单调栈)
  6. 你担心大家会滥用的全局变量,大家(包括你自己)一定会滥用
  7. [SQL实战]之获取当前薪水第二多的员工的emp_no以及其对应的薪水salary
  8. 微信小程序中base64图片的显示与保存
  9. 网络工程计算机等级,网络工程师题库_计算机等级考试题库_考试资料网
  10. 僵尸粉检测 php,微信新功能,一键检测你的手机卡不卡,还能查僵尸粉
  11. 通达信 python插件选股_通达信插件选股说明
  12. 浅谈css样式及选择器
  13. consul报错:consul at least one health check on one instance is failing
  14. 充电慢、掉电快、续航短?这份电动车过冬指南请查收!
  15. java 有序的list_Java 中的 List —— 有序序列
  16. 【分享贴】高中数学教师资格证面试经验分享贴
  17. IT经理世界封面报道:淘宝潜规则
  18. 花开不败 一个复旦女生的高三生活
  19. 冯·诺依曼体系和哈佛体系结构比较
  20. python赋值法例子_大佬们 我是刚开始学python的小白 遇到这种赋值方式 实在不懂这个a+b是赋值给谁的 求解...

热门文章

  1. 怎么通过大网给服务器传文件在哪里,高速传输文件的办法
  2. 计算机论文中期考核报告,硕士学位论文中期检查表范文_中期检查报告范文_中期考核 修改论文题目...
  3. Print Conductor批量打印工具,Print Conductor|Crack版
  4. AdventureWorks2008R2安装过程可能会遇到的一些问题及解决方案
  5. 第一章 Visual Basic入门
  6. DirectShow播放视频流程
  7. 函数调用中的堆栈平衡
  8. excel数据库_如何通过INTOUCH组态软件做EXCEL报表(含代码)
  9. Fedora13下编译libfetion的问题和解决办法
  10. 模电笔记快速整理之《模拟电子技术基础(第四版)》上海交大网课版 1-2章