跳楼机[DP+spfa]
传送门
我们考虑对于一些楼层i, 当i可以被y或z走到时 , i+kx也可以被走到 , 对答案的贡献就是(h-i)/x+1
于是我们预处理y或z走到modx==i的最少楼层
f[(i+y)%x] = min( f[(i+y)%x] , f[i%x] + y) , z同理
发现对于状态转移 , i%x向(i+y)%x 连一条权值为y的边 , 跑最短路就好了
#include<bits/stdc++.h>
#define N 500050
#define LL long long
using namespace std;
int first[N],next[N*2],to[N*2],w[N*2],tot;
LL h,x,y,z,dis[N],ans,vis[N];
void add(int x,int y,int z){next[++tot]=first[x],first[x]=tot,to[tot]=y,w[tot]=z;
}
void spfa(){queue<int> q; memset(dis,127,sizeof(dis));dis[1]=1 , vis[1]=1 , q.push(1);while(!q.empty()){int x=q.front(); q.pop(); vis[x]=0;for(int i=first[x];i;i=next[i]){int t=to[i]; if(dis[t] > (LL)dis[x] + w[i]){dis[t] = (LL)dis[x] + w[i];if(!vis[t]) q.push(t) , vis[t]=1;}}}
}
int main(){scanf("%lld%lld%lld%lld",&h,&x,&y,&z);for(int i=0;i<x;i++){add(i,(i+y)%x,y);add(i,(i+z)%x,z);} spfa();for(int i=0;i<x;i++) if(dis[i]<=h) ans += (LL)(h-dis[i])/x + 1ll; printf("%lld",ans); return 0;
}
跳楼机[DP+spfa]相关推荐
- 【洛谷 P3403】跳楼机(SPFA)
P3403 跳楼机 题目背景 DJL为了避免成为一只咸鱼,来找srwudi学习压代码的技巧. 题目描述 Srwudi的家是一幢h层的摩天大楼.由于前来学习的蒟蒻越来越多,srwudi改造了一个跳楼机, ...
- 同余最短路(P3403 跳楼机)
同余最短路 前置 给定m个数,这m个数可以重复取,问最大的这m个数不能拼成的数,或者给定一定范围,范围里有多少个数是这m个数可以拼成的,对于这种问题我们可以考虑同余最短路的算法. P3403 跳楼机 ...
- 【洛谷3043】跳楼机(最短路)
[洛谷3043]跳楼机(最短路) 题面 洛谷 题解 思路很妙嗷. 先只考虑只用\(y,z\)两种移动方式,它们一定能够到达一些楼层, 那么这些楼层再只用\(x\)拓展就能够计算答案. 那么我们这样子计 ...
- 【JZOJ A组】跳楼机
Description DJL为了避免成为一只咸鱼,来找srwudi学习压代码的技巧. Srwudi的家是一幢h层的摩天大楼.由于前来学习的蒟蒻越来越多,srwudi改造了一个跳楼机,使得访客可以更方 ...
- 机器人无限火力无限e符文_无限火力装备符文评级 召唤师峡谷秒变欢乐谷 机器人化身跳楼机...
无限火力模式激情上线,拥有80%超快冷却缩减的BUFF,一切都和召唤师峡谷不同.那么在无限火力模式中,哪些装备符文能拥有更为亮眼的表现呢? 装备篇 无限火力最爽的一点就是--装备也能够享受80%的冷却 ...
- ZOJ1027 Travelling Fee(DP+SPFA)
给一张有向无环图,边都有花费,从某点到某点走的那条路径上的那一条花费最多的边可以省掉,问从起点到终点的最少花费的多少, 往DP想的话,就可以写出这个状态dp[u][mx],表示到达u点已经省掉的花费为 ...
- [APIO2013]机器人(DP+SPFA最短路)
[APIO2013]机器人 description solution dpl,r,i,j:dp_{l,r,i,j}:dpl,r,i,j: 在(i,j)(i,j)(i,j)位置合并编号为[l,r][l ...
- bzoj 1003物流运输 区间dp+spfa
基本思路: 一开始确实没什么思路,因为觉得怎么着都会超时,然后看一下数据范围,呵,怎么都不会超时. 思路: 1.看到能改变线路,想到可以用以下区间dp,区间dp的话,先枚举长度,枚举开始位置,然后枚举 ...
- 【BZOJ 2595】2595: [Wc2008]游览计划 (状压DP+spfa,斯坦纳树?)
2595: [Wc2008]游览计划 Time Limit: 10 Sec Memory Limit: 256 MBSec Special Judge Submit: 1572 Solved: ...
- BZOJ 3875: [Ahoi2014Jsoi2014]骑士游戏 dp spfa
3875: [Ahoi2014&Jsoi2014]骑士游戏 Time Limit: 30 Sec Memory Limit: 256 MB Submit: 933 Solved: 475 ...
最新文章
- DL之CNN:计算机视觉之卷积神经网络经典算法简介、重要进展、改进技巧之详细攻略(建议收藏)
- DL:神经网络算法简介之耗算力的简介、原因、经典模型耗算力计算、GPU使用之详细攻略
- .NET两种图片上传方式
- 在 Azure Functions 上使用不同的路由前缀
- 循环神经网络以及 LSTM 及其变体
- Android隐藏标题设置全屏,设置背景
- Ceres Solver安装
- 计划性分析的要点,走向更好的关键
- JWPlayer快速入门指南(中文)
- 局域网访问PHP项目网站 用IP地址进入
- visio中公式太小_冲压模具设计:冲床吨位计算公式、实例分析,设计师值得一看...
- cmos和ttl_TTL与CMOS详细介绍
- java webservice调用sap_java调用sap webservice
- 弹力弹珠java_Java实现简单的弹球游戏
- 关于应用RestHighLevelClient操作ElasticSearch出现“远程主机强迫关闭一个现有连接”的问题探究
- npm install XXX 报错:error An unexpected error occurred:
- Nginx开启GZIP压缩,提升前端访问速度
- 小红书笔记api_小红书学习笔记
- 云呐|医院医疗的IT设备信息化资产盘点管理系统
- 微信小程序 java多商家多用户网上商城购物系统#计算机毕业设计
热门文章
- 使用python将pdf文件转化为word文件
- mysql给一张表做快照_MySQL之快照读
- php 翻译接口,php有道翻译api调用方法
- mysql binlog 回滚_Mysql误操作后利用binlog2sql快速回滚的方法详解
- 775针服务器cpu性能排行,CPU性能排行榜各种cup应有尽有
- 如何使用计算机计算平方面积,尺平方米换算计算器(面积单位换算器)
- 深度解析种子轮、天使轮、PreA轮、A轮、B轮、C轮的内涵
- 个人网站如何开通收款功能申请支付接口?
- 外贸常用术语_常用外贸术语
- 用户态创建socket来控制arp报文的收发,含编码