用广搜实现的spfa
用广搜实现的spfa,如果是用一般的最短路,会发现构图很麻烦,因为它不是路径带权值,而是自身带权值。写起来只要注意,在点出队列的生活将其标记为0,在要压入队列的时候,判断其标记是否为0,为0表示队列中木有这个点,则压入........还有一点,其实这个点即使在队列里面,只要是这个点有比当前的路径短的,就需要更新这个点的最短路,当然,这个点已经在队列里面了,我们就只需要更新它,而不需要把它加入队列......
- void dj()
- {
- queue<node>q;
- for(ss i=0;i<=n;i++)
- for(ss j=0;j<=n;j++)
- dis[i][j]=maxx;
- dis[n][n]=a[n][n];
- memset(vist,0,sizeof(vist));
- vist[n][n]=1;
- node tmp;
- tmp.x=n;
- tmp.y=n;
- q.push(tmp);
- while(!q.empty())
- {
- node tmp1=q.front();
- q.pop();
- vist[tmp1.x][tmp1.y]=0;
- for(ss i=0;i<4;i++)
- {
- ss xx=tmp1.x+t[i][0];
- ss yy=tmp1.y+t[i][1];
- if(xx>=1&&xx<=n&&yy>=1&&yy<=n&&dis[xx][yy]>dis[tmp1.x][tmp1.y]+a[xx][yy])
- {
- dis[xx][yy]=dis[tmp1.x][tmp1.y]+a[xx][yy];
- if(!vist[xx][yy])
- {
- node tmp2;
- tmp2.x=xx;
- tmp2.y=yy;
- q.push(tmp2);
- vist[xx][yy]=1;
- }
- }
- }
- }
- }
用广搜实现的spfa的更多相关文章
- HDU 3666 THE MATRIX PROBLEM (差分约束 深搜 & 广搜)
THE MATRIX PROBLEM Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Other ...
- Oj 24260: Lilypad Pond (神奇广搜题,状态搜索)
题目 为了让奶牛们娱乐和锻炼,约翰建造了一个美丽的池塘.这个池塘是矩形的,可以分成M×N个方格.一些格子是坚固得令人惊讶的莲花,还有一些是岩石,其余的只是美丽,纯净,湛蓝的水.贝西正在练习芭蕾舞,她站 ...
- HDU--杭电--1195--Open the Lock--深搜--都用双向广搜,弱爆了,看题了没?语文没过关吧?暴力深搜难道我会害羞?
这个题我看了,都是推荐的神马双向广搜,难道这个深搜你们都木有发现?还是特意留个机会给我装逼? Open the Lock Time Limit: 2000/1000 MS (Java/Others) ...
- HDU 5652(二分+广搜)
题目链接:http://acm.hust.edu.cn/vjudge/contest/128683#problem/E 题目大意:给定一只含有0和1的地图,0代表可以走的格子,1代表不能走的格 子.之 ...
- nyoj 613 免费馅饼 广搜
免费馅饼 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 都说天上不会掉馅饼,但有一天gameboy正走在回家的小径上,忽然天上掉下大把大把的馅饼.说来gameboy ...
- poj 3984:迷宫问题(广搜,入门题)
迷宫问题 Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 7635 Accepted: 4474 Description ...
- poj 3278:Catch That Cow(简单一维广搜)
Catch That Cow Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 45648 Accepted: 14310 ...
- 双向广搜 POJ 3126 Prime Path
POJ 3126 Prime Path Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 16204 Accepted ...
- 广搜+打表 POJ 1426 Find The Multiple
POJ 1426 Find The Multiple Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 25734 Ac ...
随机推荐
- 如何通过.reg文件来修改注册表键和子键以及键值
无废话, 直接上例子, 自己运行一下便知. 然后根据自己需要改改就可以随便用了. 添加key, subkey, 和设置键值的例子. ==================== Windows Reg ...
- 根据不同浏览器使用不同的css文件
代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3. ...
- Plugin with id 'com.github.dcendents.android-maven' not found
导入开源项目的时候老是报这个错 Error:(2, 0) Plugin with id 'com.github.dcendents.android-maven' not found 挺郁闷的,不知道是 ...
- C#中载入界面的几种做法
1. 采用事件委托的方法 对象:主窗体:FrmMain 加载窗体:FrmLoading 思路: 在主窗体加载前显示窗体FrmLoading,当主窗体加载完毕后(第一次显示的时候),关闭FrmLo ...
- 【Hadoop基础】hadoop fs 命令
1,hadoop fs –fs [local | <file system URI>]:声明hadoop使用的文件系统,如果不声明的话,使用当前配置文件配置的,按如下顺序查找:hadoop ...
- 【Python】nvshens按目录批量下载图片爬虫1.00(单线程版)
# nvshens按目录批量下载图片爬虫1.00(单线程版) from bs4 import BeautifulSoup import requests import datetime import ...
- 数据库:mongodb与关系型数据库相比的优缺点zz (转)
与关系型数据库相比,MongoDB的优点:①弱一致性(最终一致),更能保证用户的访问速度:举例来说,在传统的关系型数据库中,一个COUNT类型的操作会锁定数据集,这样可以保证得到“当前”情况下的精确值 ...
- Mysql InnoDB锁
MySQL 不同引擎的锁机制: MyISAM和MEMORY采用表级锁(table-level locking) BDB采用页面锁(page-leve locking)或表级锁,默认为页面锁 InnoD ...
- 隐函数画图with R
隐函数画图 with R 这个函数 sin(xsiny)-cos(ycosx)=0 图是这个样子 怎么用R画出来呢?下面是代码 x<-y<-seq(-10,20,0.1) f<-fu ...
- Python方法完成农历日历功能代码
来自 #coding=utf-8 #****************************************************************************** # 下 ...