传送门

我们考虑对于一些楼层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]相关推荐

  1. 【洛谷 P3403】跳楼机(SPFA)

    P3403 跳楼机 题目背景 DJL为了避免成为一只咸鱼,来找srwudi学习压代码的技巧. 题目描述 Srwudi的家是一幢h层的摩天大楼.由于前来学习的蒟蒻越来越多,srwudi改造了一个跳楼机, ...

  2. 同余最短路(P3403 跳楼机)

    同余最短路 前置 给定m个数,这m个数可以重复取,问最大的这m个数不能拼成的数,或者给定一定范围,范围里有多少个数是这m个数可以拼成的,对于这种问题我们可以考虑同余最短路的算法. P3403 跳楼机 ...

  3. 【洛谷3043】跳楼机(最短路)

    [洛谷3043]跳楼机(最短路) 题面 洛谷 题解 思路很妙嗷. 先只考虑只用\(y,z\)两种移动方式,它们一定能够到达一些楼层, 那么这些楼层再只用\(x\)拓展就能够计算答案. 那么我们这样子计 ...

  4. 【JZOJ A组】跳楼机

    Description DJL为了避免成为一只咸鱼,来找srwudi学习压代码的技巧. Srwudi的家是一幢h层的摩天大楼.由于前来学习的蒟蒻越来越多,srwudi改造了一个跳楼机,使得访客可以更方 ...

  5. 机器人无限火力无限e符文_无限火力装备符文评级 召唤师峡谷秒变欢乐谷 机器人化身跳楼机...

    无限火力模式激情上线,拥有80%超快冷却缩减的BUFF,一切都和召唤师峡谷不同.那么在无限火力模式中,哪些装备符文能拥有更为亮眼的表现呢? 装备篇 无限火力最爽的一点就是--装备也能够享受80%的冷却 ...

  6. ZOJ1027 Travelling Fee(DP+SPFA)

    给一张有向无环图,边都有花费,从某点到某点走的那条路径上的那一条花费最多的边可以省掉,问从起点到终点的最少花费的多少, 往DP想的话,就可以写出这个状态dp[u][mx],表示到达u点已经省掉的花费为 ...

  7. [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 ...

  8. bzoj 1003物流运输 区间dp+spfa

    基本思路: 一开始确实没什么思路,因为觉得怎么着都会超时,然后看一下数据范围,呵,怎么都不会超时. 思路: 1.看到能改变线路,想到可以用以下区间dp,区间dp的话,先枚举长度,枚举开始位置,然后枚举 ...

  9. 【BZOJ 2595】2595: [Wc2008]游览计划 (状压DP+spfa,斯坦纳树?)

    2595: [Wc2008]游览计划 Time Limit: 10 Sec  Memory Limit: 256 MBSec  Special Judge Submit: 1572  Solved:  ...

  10. BZOJ 3875: [Ahoi2014Jsoi2014]骑士游戏 dp spfa

    3875: [Ahoi2014&Jsoi2014]骑士游戏 Time Limit: 30 Sec  Memory Limit: 256 MB Submit: 933  Solved: 475 ...

最新文章

  1. DL之CNN:计算机视觉之卷积神经网络经典算法简介、重要进展、改进技巧之详细攻略(建议收藏)
  2. DL:神经网络算法简介之耗算力的简介、原因、经典模型耗算力计算、GPU使用之详细攻略
  3. .NET两种图片上传方式
  4. 在 Azure Functions 上使用不同的路由前缀
  5. 循环神经网络以及 LSTM 及其变体
  6. Android隐藏标题设置全屏,设置背景
  7. Ceres Solver安装
  8. 计划性分析的要点,走向更好的关键
  9. JWPlayer快速入门指南(中文)
  10. 局域网访问PHP项目网站 用IP地址进入
  11. visio中公式太小_冲压模具设计:冲床吨位计算公式、实例分析,设计师值得一看...
  12. cmos和ttl_TTL与CMOS详细介绍
  13. java webservice调用sap_java调用sap webservice
  14. 弹力弹珠java_Java实现简单的弹球游戏
  15. 关于应用RestHighLevelClient操作ElasticSearch出现“远程主机强迫关闭一个现有连接”的问题探究
  16. npm install XXX 报错:error An unexpected error occurred:
  17. Nginx开启GZIP压缩,提升前端访问速度
  18. 小红书笔记api_小红书学习笔记
  19. 云呐|医院医疗的IT设备信息化资产盘点管理系统
  20. 微信小程序 java多商家多用户网上商城购物系统#计算机毕业设计

热门文章

  1. 使用python将pdf文件转化为word文件
  2. mysql给一张表做快照_MySQL之快照读
  3. php 翻译接口,php有道翻译api调用方法
  4. mysql binlog 回滚_Mysql误操作后利用binlog2sql快速回滚的方法详解
  5. 775针服务器cpu性能排行,CPU性能排行榜各种cup应有尽有
  6. 如何使用计算机计算平方面积,尺平方米换算计算器(面积单位换算器)
  7. 深度解析种子轮、天使轮、PreA轮、A轮、B轮、C轮的内涵
  8. 个人网站如何开通收款功能申请支付接口?
  9. 外贸常用术语_常用外贸术语
  10. 用户态创建socket来控制arp报文的收发,含编码