层次单调性

走地图

双重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. 修改Git Commit提交记录的用户名Name和邮箱Email

    修改Git 本次Commit提交记录的用户名Name和邮箱Email git commit --amend --author="new-name <xxx@new.com>&qu ...

  2. 手机护眼概论及OLED屏幕降低频闪原理介绍

    影响护眼的因素 蓝光 目前手机大多已经实现硬件低蓝光,而且蓝光也可以通过护眼模式轻易克服. 偏振光 偏振光指振动方向与传播方向不对称的光,主要分为圆偏振光与线偏振光两种. 线偏振光测试方法为:透过偏振 ...

  3. k8s livenessprobe和readinessprobe详解

    一.为什么需要容器探针 如何保持Pod健康 只要将pod调度到某个节点,Kubelet就会运行pod的容器,如果该pod的容器有一个或者所有的都终止运行(容器的主进程崩溃),Kubelet将重启容器, ...

  4. 全国产!全志T3+Logos FPGA核心板(4核ARM Cortex-A7)规格书

    核心板简介 创龙科技SOM-TLT3F是一款基于全志科技T3四核ARM Cortex-A7处理器 + 紫光同创Logos PGL25G/PGL50G FPGA设计的异构多核全国产工业核心板,ARM C ...

  5. 国产化率100%!全志科技A40i工业核心板规格书资料分享

    1.核心板简介 创龙科技SOM-TLA40i是一款基于全志科技A40i处理器设计的4核ARM Cortex-A7国产工业核心板,每核主频高达1.2GHz. 核心板通过邮票孔连接方式引出CSI.TVIN ...

  6. CF1137C 题解

    考虑把每个点进行拆成 \(d\) 个点表示星期几走到这个点,那么原图上的边 \((u,v)\) 就被拆成\((pos_{u,i},pos_{v,i+1})\) 表示星期的变化. 然后考虑进行缩点,在一 ...

  7. 记一次 .NET某上位视觉程序 离奇崩溃分析

    一:背景 1. 讲故事 前段时间有位朋友找到我,说他们有一个崩溃的dump让我帮忙看下怎么回事,确实有太多的人在网上找各种故障分析最后联系到了我,还好我一直都是免费分析,不收取任何费用,造福社区. 话 ...

  8. 内网穿透的高性能的反向代理应用FRP-自定义404错误页【实践可行版】

    frp简介 frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP.UDP.HTTP.HTTPS 等多种协议.可以将内网服务以安全.便捷的方式通过具有公网 IP 节点的中转暴露到公网. 为什 ...

  9. ECMA标准ECMAScript(JavaScript的一个标准)和C#

    2024 年 6 月 26 日,第 127 届 ECMA 大会正式批准了 ECMAScript 2024 语言规范,这意味着它现在正式成为最新 ECMAScript 标准.ECMAScript是ECM ...

  10. manim边学边做--Matrix

    在代数问题中,矩阵是必不可少的工具,manim中提供了一套展示矩阵(Matrix)的模块,专门用于在动画中显示矩阵格式的数据.关于矩阵的类主要有4个: Matrix:通用的矩阵 IntegerMatr ...