层次单调性

走地图

双重bfs

1.模块性

2.方案:外层bfs逆推,内层bfs重新跑

A.每次代价0/1:双端队列bfs

B.每次代价任意数值:优先队列bfs(dijikstra)、迭代(SPFA)

UVA11367 Full Tank?

https://www.luogu.org/problemnew/show/UVA11367

 1 const int N=1010,M=10010,C=105,INF=99999999;
2 struct node
3 {
4 int u,cc,co;
5 node(int U,int CC,int CO){u=U;cc=CC;co=CO;}
6 };
7 bool operator < (node x,node y){return x.co>y.co;}
8 int f[N][C];
9 int pr[N],u[M<<1],v[M<<1],w[M<<1],fir[N],nxt[M<<1];
10 int n,m,tot,c,s,e;
11 priority_queue<node> q;
12
13 void bfs()
14 {
15 while(!q.empty()) q.pop();
16 q.push(node(s,0,0));
17 f[s][0]=0;
18 while(!q.empty())
19 {
20 node p=q.top();q.pop();
21 //cout<<p.u<<" "<<p.cc<<" "<<p.co<<endl;
22 if(p.u==e) {cout<<p.co<<endl;return;}
23 if(p.cc<c && p.co+pr[p.u]<f[p.u][p.cc+1])
24 {
25 f[p.u][p.cc+1]=p.co+pr[p.u];
26 q.push(node(p.u,p.cc+1,p.co+pr[p.u]));
27 }
28 qxx(i,p.u)
29 {
30 if(p.cc>=w[i] && f[v[i]][p.cc-w[i]]>=p.co)
31 {
32 f[v[i]][p.cc-w[i]]=p.co;
33 q.push(node(v[i],p.cc-w[i],p.co));
34 }
35 }
36 }
37 cout<<"impossible"<<endl;
38 }
39
40 int main()
41 {
42 n=rd(),m=rd();
43 FOR(i,1,n) pr[i]=rd();
44 while(tot<(m<<1))
45 {
46 u[++tot]=rd(),v[tot]=rd(),w[tot]=rd();
47 ++u[tot],++v[tot];
48 nxt[tot]=fir[u[tot]],fir[u[tot]]=tot;
49 ++tot;u[tot]=v[tot-1],v[tot]=u[tot-1],w[tot]=w[tot-1];
50 nxt[tot]=fir[u[tot]],fir[u[tot]]=tot;
51 }
52 int qq=rd();
53 FOR(i,1,qq)
54 {
55 memset(f,8,sizeof(f));
56 c=rd(),s=rd(),e=rd();
57 ++s,++e;
58 bfs();
59 }
60 return 0;
61 }

A*

带估价函数的bfs

一定有f[i]<=g[i]

越接近效率越高

康托展开

排列->序数

∑(i=1->n) i后面比i小的数 * (n-i)!

bfs优化的更多相关文章

  1. 2013年第四届蓝桥杯国赛 九宫重排(HashMap+双BFS优化)

    九宫重排     时间限制:1.0s   内存限制:256.0MB 问题描述 如下面第一个图的九宫格中,放着 1~8 的数字卡片,还有一个格子空着.与空格子相邻的格子中的卡片可以移动到空格中.经过若干 ...

  2. 最少步数(dfs + bfs +bfs优化)

    最少步数 时间限制:3000 ms  |  内存限制:65535 KB 难度:4   描述 这有一个迷宫,有0~8行和0~8列: 1,1,1,1,1,1,1,1,1 1,0,0,1,0,0,1,0,1 ...

  3. 洛谷 2831 (NOIp2016) 愤怒的小鸟——仅+1所以bfs优化

    题目:https://www.luogu.org/problemnew/show/P2831 状压dp.跑得很慢.(n^2*2^n) 注意只打一只猪的情况. #include<iostream& ...

  4. POJ2308连连看dfs+bfs+优化

    DFS+BFS+MAP+剪枝 题意:       就是给你一个10*10的连连看状态,然后问你最后能不能全部消没? 思路:      首先要明确这是一个搜索题目,还有就是关键的一点就是连连看这个游戏是 ...

  5. hdu-1728(bfs+优化)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1728 注意:1.先输入起点(y1,x1)和终点(y2,x2): 2.如果一个一个遍历会超时. 思路:每 ...

  6. USACO4.4 Shuttle Puzzle【bfs+优化】

    直接上$bfs$,每一个状态记录下当前字符串的样子,空格的位置,和走到这个状态的答案. 用空格的位置转移,只有$50pts$ 考虑到题目一个性质:$W$只往右走,$B$只往左走,就可以过了. #inc ...

  7. POJ 1426 Find The Multiple --- BFS || DFS

    POJ 1426 Find The Multiple 题意:给定一个整数n,求n的一个倍数,要求这个倍数只含0和1 参考博客:点我 解法一:普通的BFS(用G++能过但C++会超时) 从小到大搜索直至 ...

  8. nyoj三个水杯(bfs)

    三个水杯 时间限制:1000 ms  |           内存限制:65535 KB 难度:4   描述 给出三个水杯,大小不一,并且只有最大的水杯的水是装满的,其余两个为空杯子.三个水杯之间相互 ...

  9. hdu 3247 AC自动+状压dp+bfs处理

    Resource Archiver Time Limit: 20000/10000 MS (Java/Others)    Memory Limit: 100000/100000 K (Java/Ot ...

  10. NOIP2002-字串变换【双向BFS】

    NOIP2002-字串变换 Description 已知有两个字串A,BA,B及一组字串变换的规则(至多66个规则): A_1A1​ ->B_1B1​ A_2A2​ -> B_2B2​ 规 ...

随机推荐

  1. 视觉语言跨模态特征语义相似度计算改进--表征空间维度语义依赖感知聚合算法 ACM MM

    论文链接:Unlocking the Power of Cross-Dimensional Semantic Dependency for Image-Text Matching (ACM MM23) ...

  2. Latex 公式 如何转为Word 公式,免费线上网站

    在实际中,我们常常需要讲将atex公式在word中书写.不采用手敲word公式,如何直接从Latex公式转word公式: 非常好的网站:https://www.latexlive.com/ 可以直接复 ...

  3. 高通Android分区表详解

    高通Android分区表详解 Label Purpose of this partition Modem Partition for modem Fsc Cookie partition to sto ...

  4. c语言生成随机数

    记录示例,留作自用 #include <stdio.h> #include <stdlib.h> #include <time.h> int main(void) ...

  5. WPF/C#:在WPF中如何实现依赖注入

    前言 本文通过 WPF Gallery 这个项目学习依赖注入的相关概念与如何在WPF中进行依赖注入. 什么是依赖注入 依赖注入(Dependency Injection,简称DI)是一种设计模式,用于 ...

  6. 解决方案 | Get-AppxPackage : 无法启动服务,原因可能是已被禁用或与其相关联的设备没有启动

    前几天由于需要卸载一些win10自带应用,导致onenote2016无法启动(根本原因:当时可能remove-appxpackage导致某些微软原生应用出现问题),同时今天使用power shell出 ...

  7. 基于Java网络书店商城设计实现(源码+lw+部署文档+讲解等)

    系统介绍: 随着科学技术的飞速发展,各行各业都在努力与现代先进技术接轨,通过科技手段提高自身的优势:对于网络书店商城当然也不能排除在外,随着网络技术的不断成熟,带动了网络书店商城,它彻底改变了过去传统 ...

  8. 由delete语句引起的锁范围扩大

    由delete语句引起的锁范围扩大 阿里云月报中的一句话,出处:http://mysql.taobao.org/monthly/2022/01/01/ 但是Ghost Record是可以跟正常的Rec ...

  9. php 模型浏览器

    docker安装 文档:https://github.com/SeleniumHQ/docker-selenium docker run -d -p 4444:4444 -p 7900:7900 -- ...

  10. 搭建自动化 Web 页面性能检测系统 —— 部署篇

    我们是袋鼠云数栈 UED 团队,致力于打造优秀的一站式数据中台产品.我们始终保持工匠精神,探索前端道路,为社区积累并传播经验价值. 本文作者:琉易 liuxianyu.cn 这一篇是系列文章: 搭建自 ...