当前位置: 首页 > wzjs >正文

美观网站建设物美价廉重庆百度关键词推广

美观网站建设物美价廉,重庆百度关键词推广,苏州网站建设公司哪家好,wordpress配置多用户一道经典的 bfs 题。 提醒:本题解是为小白专做的,不想看的大佬请离开。 这道题首先一看就知道是 bfs,但是数据点不让我们过: 1 ≤ H , W ≤ 1 0 9 1\le H,W\le10^9 1≤H,W≤109。 那么我们就需要优化了,从哪儿下手…

一道经典的 bfs 题。

提醒:本题解是为小白专做的,不想看的大佬请离开。

这道题首先一看就知道是 bfs,但是数据点不让我们过: 1 ≤ H , W ≤ 1 0 9 1\le H,W\le10^9 1H,W109

那么我们就需要优化了,从哪儿下手呢?看数据点第三行: 1 ≤ N ≤ 1 0 5 1\le N\le10^5 1N105

图很大,但是石头不多,那么我们就可以从石头下手。这里需要我们把思维方式转换过来一下。

正常的 bfs 是去找路,那我们就找石头!那石头在哪儿呢?

首先,我们不可能在 bfs 的时候把所有的石头全扫一遍然后找,这样很明显会 TLE。而我们再回忆一下 bfs 的过程:上下左右全走一遍,然后……

对啊!bfs 只扫这个点的这一行、这一列,我们为什么不能把每一行、每一列的石头所在的列数、行数保存下来呢?但还是有个问题:如果我要跑一行的数据,很有可能会被数据点卡,怎么再优化呢?这就要请出查询时间复杂度最低的算法了:二分!

总时间复杂度:最差情况下 O ( n log ⁡ 2 ( n ) ) O(n\log_2(n)) O(nlog2(n))

代码实现:

#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,m,t,x,y,stx,sty,edx,edy;
map<pair<int,int>,int>dis;
map<int,set<int>>h,l;
queue<pair<int,int>>q;
void add(int u,int v,int now) {if(dis.find(make_pair(u,v))==dis.end()) {dis[make_pair(u,v)]=now;q.push(make_pair(u,v));}
}
signed main() {cin>>n>>m>>t>>stx>>sty>>edx>>edy;while(t--) {cin>>x>>y;h[x].insert(y);//保存行和列l[y].insert(x);}dis[make_pair(stx,sty)]=0;q.push(make_pair(stx,sty));while(!q.empty()) {pair<int,int>p=q.front();q.pop();int u=p.first,v=p.second;int now=dis[make_pair(u,v)];if(u==edx&&v==edy) {cout<<now;return 0;}auto it=h[u].lower_bound(v);//二分if(it!=h[u].end()) {add(u,(*it)-1,now+1);//这里我试过把函数中的部分放下来,但就是不知道为什么会错}if(it!=h[u].begin()) {add(u,(*(--it))+1,now+1);}it=l[v].lower_bound(u);if(it!=l[v].end()) {add((*it)-1,v,now+1);}if(it!=l[v].begin()) {add((*(--it))+1,v,now+1);}}cout<<"-1";return 0;
}
http://www.dtcms.com/wzjs/11729.html

相关文章:

  • 垃圾ip段做网站seo公司资源
  • 个人全屏网站模板seow是什么意思
  • 做内销的网站推荐网站推广在哪好
  • 中国人民建设银行官方网站百度搜索引擎广告投放
  • 母婴网站建设的目的如何推广一个网站
  • 做网站建设的利润店铺运营
  • 如何在国外网站做免费推广北京百度seo关键词优化
  • 塘厦 网站建设 百度推广线上推广方案
  • 网站制作复杂吗湖南网站seo找行者seo
  • 网站设计说明书整合b站推广2024mmm已更新
  • 大连做网站优化公司网站及推广
  • 中企动力网站价格谷歌play商店
  • 家里的电脑ip做网站电商运营入门基础知识
  • 企业退休做认证进哪个网站关键词优化技巧有哪些
  • 品牌型网站建设方案软文公司代写
  • 电暖怎么做网站网页设计主题参考
  • 关于网站建设管理的通知制作网站推广
  • 网站建设的本质互联网营销外包公司
  • 黑客网站网址入口如何制作网站免费建站
  • 做免费推广的网站有哪些谷歌seo是什么职业
  • wap网站建设费用100个成功营销策划案例
  • 大丰区城乡和住房建设局网站上海优化公司选哪个
  • 做旅游网站的需求分析报告太原seo外包公司
  • 展示型网站一样做seo优化吗网络营销软件排行
  • 网站开发总结与未来展望优秀的软文广告案例
  • 选择响应式网站建设发外链平台
  • 做网站的属于什么行业上海网站快速排名提升
  • 济宁b2b网站开发公司中和seo公司
  • 浙江省建设工程造价协会网站百度广告投放电话
  • 传统网站建设架构搜狗seo软件