双参数Bellman-ford带队列优化类似于背包问题的递推
为方便起见,将Bellman-ford队列优化称为SPFA,= =
抓住 ZMF (ZMF.pas/c/cpp)
题目描述
输入格式
第一行有两个数 N 和 P,分别表示座位个数(包括 MR.LI,MR.LI 的编号为 1,ZMF 的编号为 N) 和 ZMF 的警觉程度(即允许响声和的最大值)。N<=50,P<=50
接下来的 N 行,每行有 N 个数,第 I 行第 J 个数表示从 I 走到 J 的路程。0 表示不可到达。
最后有 N 行,每行 N 个数,第 I 行第 J 个数表示从 I 走到 J 所发出的响声。
输出格式
测试数据
输入
____________________
5 5
0 100 100 1 1
0 0 0 0 100
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 1 1 10 100
0 0 0 0 2
0 0 0 0 0
0 0 0 0 0
输出
____________________
200
这是一道例题。
首先,我们可以发现,是一个较为传统的最短路题。只是多了限制条件,响声和不能大于某个数。
那么可以将每条边的响声值设为重量,这就是一个背包问题了。但是要同时求出最短路(仁义厚道的是无需输出方案),怎么办呢?
注意到DP背包问题是DP的形式,F[余下总重]=max{F[余下总重],F[余下总重-w[当前节点]]+v[当前节点]}
由于是蒟蒻,以前没做过类似的题目= =,然后就SB了。受到WJZ大神的启发。。
而SPFA的松弛, 和背包问题很类似,F[i]=min{F[i],F[j]+P[j][i]}我们可以将它看成是DP。那么让我们加一维,变成这样:
F[i][j]=min{F[i][j],F[k][j-w[k][i]]+P[k][i]}
这样可以保证答案是由可行的路径松弛而来的,由于j是有范围的。
最后膜拜WJZ大神!今年一定是要Au的节奏!>_< [//如果没有Au一定是数据错了恩
双参数Bellman-ford带队列优化类似于背包问题的递推的更多相关文章
- POJ 1742 (单调队列优化多重背包+混合背包)
(点击此处查看原题) 题意分析 给你n种不同价值的硬币,价值为val[1],val[2]...val[n],每种价值的硬币有num[1],num[2]...num[n]个,问使用这n种硬币可以凑齐[1 ...
- poj1860 bellman—ford队列优化 Currency Exchange
Currency Exchange Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 22123 Accepted: 799 ...
- 关于SPFA的双端队列优化
7.11 Update 我做题的时候发现这样写会RE 因为在使用双端队列优化SPFA的时候 在将一个点加入队列的时候,如果队列已经空了 那么一旦出现dis[Q.front()]就会RE 可以这样修改 ...
- Vijos1834 NOI2005 瑰丽华尔兹 动态规划 单调双端队列优化
设dp[t][x][y]表示处理完前t个时间段,钢琴停留在(x,y)处,最多可以走多少个格子 转移时只需逆着当前倾斜的方向统计len个格子(len为时间区间的长度,len=t-s+1),如果遇到障碍就 ...
- poj 3259 Wormholes : spfa 双端队列优化 判负环 O(k*E)
/** problem: http://poj.org/problem?id=3259 spfa判负环: 当有个点被松弛了n次,则这个点必定为负环中的一个点(n为点的个数) spfa双端队列优化: 维 ...
- 队列优化dijsktra(SPFA)的玄学优化
转载:大佬博客 最近想到了许多优化spfa的方法,这里想写个日报与大家探讨下 前置知识:spfa(不带任何优化) 由于使用较多 STLSTL ,本文中所有代码的评测均开启 O_2O2 优化 对一些数 ...
- 单调队列优化&&P1886 滑动窗口题解
单调队列: 顾名思义,就是队列中元素是单调的(单增或者单减). 在某些问题中能够优化复杂度. 在dp问题中,有一个专题动态规划的单调队列优化,以后会更新(现在还是太菜了不会). 在你看到类似于滑动定长 ...
- 单调队列以及单调队列优化DP
单调队列定义: 其实单调队列就是一种队列内的元素有单调性的队列,因为其单调性所以经常会被用来维护区间最值或者降低DP的维数已达到降维来减少空间及时间的目的. 单调队列的一般应用: 1.维护区间最值 2 ...
- 算法笔记--单调队列优化dp
单调队列:队列中元素单调递增或递减,可以用双端队列实现(deque),队列的前面和后面都可以入队出队. 单调队列优化dp: 问题引入: dp[i] = min( a[j] ) ,i-m < j ...
随机推荐
- java核心数据结构总结
JDK提供了一组主要的数据结构的实现,如List.Set.Map等常用结构,这些结构都继承自java.util.collection接口. List接口 List有三种不同的实现,ArrayList和 ...
- iOS开发小技巧--设置cell左右有空隙,设置分割线的新思路,重写setFrame:让别人在外界无法修改控件的大小
如图:需要自定义cell
- POJ 2449Remmarguts' Date K短路模板 SPFA+A*
K短路模板,A*+SPFA求K短路.A*中h的求法为在反图中做SPFA,求出到T点的最短路,极为估价函数h(这里不再是估价,而是准确值),然后跑A*,从S点开始(此时为最短路),然后把与S点能达到的点 ...
- Maven-本地安装
本文测试安装maven3 安装 Maven 之前要求先确定你的 JDK 已经安装配置完成.Maven是 Apache 下的一个项目,目前最新版本是 3.0.4,我用的也是这个. 首先去官网下载 ...
- EPROCESS 进程/线程优先级 句柄表 GDT LDT 页表 《寒江独钓》内核学习笔记(2)
在学习笔记(1)中,我们学习了IRP的数据结构的相关知识,接下来我们继续来学习内核中很重要的另一批数据结构: EPROCESS/KPROCESS/PEB.把它们放到一起是因为这三个数据结构及其外延和w ...
- omnetpp inet
http://blog.csdn.net/midie/article/details/5086983 omnetpp inet 自带了Mingw编译环境,而不再需要Visual C编译环境了.事实上, ...
- 搭建的SSH 框架
公用JDBC 方法,如果要保存数据,不许再service 中写,而且必须带save* update* 的方法名才受事物控制,ajax 返回json 控制,登录拦截器, 用户体系我没有建立,个人需要不 ...
- Request.InputStream 接收Post Data
今天 用 Request.Form /Request.Params 等怎么也获取不到客户发过来的Post 数据 后来试着用了 Request.InputStream 竟然可以 using (Syste ...
- webshell提权20种思路
1,SER-TU提权(通常是利用SERFTP服务器管理工具,首先要在安装目录下找到INI配置文件,必须具备可写入的权限)2,RADMIN提权(大家并不陌生,我们在扫描4899空口令后,同样需要他来连接 ...
- mysql 出现错误Incorrect file format
REPAIR TABLE xx_messages USE_FRM;