刘汝佳Dijkstra模板
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模板相关推荐
- 对刘汝佳蓝书点双连通分量(BCC)模板的理解
/*经过简单的使用,对刘汝佳的这个板做几个简单的说明:1.算法结束后每个bcc[i]里存入一个双连通分量的点的标号,其中割点也被存进去,也就是说割点可以属于多个双连通分量2.根据刘汝佳所说的点-双连通 ...
- 刘汝佳《算法竞赛入门经典》---总结
刘汝佳:<算法竞赛入门经典> 三步: 基本的数据结构+算法知识: 数论等数学基本知识: 锻炼联想建模能力.知识与实际相结合,解决实际问题! 第一章:程序设计入门 1.a/b 当a.b为整数 ...
- 提取了下刘汝佳推荐的题号...
今天闲来没事上uva oj提取了下刘汝佳推荐的acm题号,原始数据如下: Volume 0. Getting Started 10055 - Hashmat the Brave Warrior ...
- (转)刘汝佳书上出现的一些题目
推荐一些题目,希望对参与ICPC竞赛的同学有所帮助. POJ上一些题目在 http://162.105.81.202/course/problemSolving/ 可以找到解题报告. ...
- 【刘汝佳代码详解】例题6-4破损的键盘(Broken Keyboard,UVa 11988)
立志用最少的代码做最高效的表达 You're typing a long text with a broken keyboard. Well it's not so badly broken. The ...
- 算法竞赛入门经典(刘汝佳)——代码笔记
Reference: <算法竞赛入门经典>(刘汝佳)第一版.第二版 ------------------------------------------------------------ ...
- 刘汝佳紫书 uva1592
刘汝佳上传的代码没耐心看...就大致照着书上写的思路写了一个...一开始发现全写错了耗了半天... 定义一个pair,这个pair里有存两个队,字符串对和int对.每每读入一行的时候看看map中是否存 ...
- [转]ACM-ICPC比赛随想——刘汝佳
自己接触acm也这么久了,到底我们acmer这般为acm废寝忘食值不值得???个人觉得刘汝佳的这篇文章讲的非常好... 刘汝佳,1982年12月生,毕业于重庆外国语学校,清华大学计算机科学与技术系20 ...
- 刘汝佳《算法竞赛入门经典(第二版)》习题(三)
刘汝佳<算法竞赛入门经典(第二版)>第三章习题(一) 习题3-1 得分(ACM/ICPC Seoul 2005,UVa1585) 给出一个由O和X组成的串(长度为1~80),统计得分.每个 ...
- 刘汝佳《算法竞赛入门经典(第二版)》习题(六)
刘汝佳<算法竞赛入门经典(第二版)>第四章习题(4-1~4-3) 习题4-1 象棋(Xiangai,ACM/ICPC Fuzhou 2011,UVa1589) 考虑一个象棋残局,其中红方有 ...
最新文章
- vs2012 编译 zlib 1.2.8
- Android应用程序键盘(Keyboard)消息处理机制分析(3)
- python装饰器_Python装饰器是个什么鬼?
- 今晚8点:基于强化学习的关系抽取和文本分类 | PhD Talk #18
- poj 2769 感觉♂良好 (单调栈)
- 你担心大家会滥用的全局变量,大家(包括你自己)一定会滥用
- [SQL实战]之获取当前薪水第二多的员工的emp_no以及其对应的薪水salary
- 微信小程序中base64图片的显示与保存
- 网络工程计算机等级,网络工程师题库_计算机等级考试题库_考试资料网
- 僵尸粉检测 php,微信新功能,一键检测你的手机卡不卡,还能查僵尸粉
- 通达信 python插件选股_通达信插件选股说明
- 浅谈css样式及选择器
- consul报错:consul at least one health check on one instance is failing
- 充电慢、掉电快、续航短?这份电动车过冬指南请查收!
- java 有序的list_Java 中的 List —— 有序序列
- 【分享贴】高中数学教师资格证面试经验分享贴
- IT经理世界封面报道:淘宝潜规则
- 花开不败 一个复旦女生的高三生活
- 冯·诺依曼体系和哈佛体系结构比较
- python赋值法例子_大佬们 我是刚开始学python的小白 遇到这种赋值方式 实在不懂这个a+b是赋值给谁的 求解...
热门文章
- 怎么通过大网给服务器传文件在哪里,高速传输文件的办法
- 计算机论文中期考核报告,硕士学位论文中期检查表范文_中期检查报告范文_中期考核 修改论文题目...
- Print Conductor批量打印工具,Print Conductor|Crack版
- AdventureWorks2008R2安装过程可能会遇到的一些问题及解决方案
- 第一章 Visual Basic入门
- DirectShow播放视频流程
- 函数调用中的堆栈平衡
- excel数据库_如何通过INTOUCH组态软件做EXCEL报表(含代码)
- Fedora13下编译libfetion的问题和解决办法
- 模电笔记快速整理之《模拟电子技术基础(第四版)》上海交大网课版 1-2章