题面

https://www.luogu.org/problem/P3403

题解

// luogu-judger-enable-o2
#include<cstdio>
#include<iostream>
#include<cstring>
#include<vector>
#include<queue>
#define ri register unsigned long long
#define N 100500
#define LL unsigned long long
using namespace std;vector<LL> to[N],len[N];
LL dis[N]; bool vis[N];
LL x,y,z;
LL h;struct node {LL x; LL d;bool operator < (const node &rhs) const {return d>rhs.d;}
};
priority_queue<node> q;void add_edge(LL x,LL y,LL z) {to[x].push_back(y);len[x].push_back(z);
}void dij(){for (ri i=0;i<x;i++) dis[i]=h+1;dis[1]=1;q.push((node){1,1});while (!q.empty()) {int x=q.top().x; q.pop();if (vis[x]) continue;vis[x]=1;for (ri i=0;i<to[x].size();i++) if (dis[to[x][i]]>dis[x]+len[x][i]) {dis[to[x][i]]=dis[x]+len[x][i];q.push((node){to[x][i],dis[to[x][i]]});}}
}LL count(LL h,LL i) {if (h<i) return 0LL;if (i==0) return h/x; else return (h-i)/x+1;
}int main(){scanf("%llu",&h);scanf("%llu%llu%llu",&x,&y,&z);if (x==1 || y==1 || z==1) {cout<<h<<endl;return 0;}for (ri i=0;i<x;i++) {add_edge(i,(i+y)%x,y);add_edge(i,(i+z)%x,z);}dij();LL ans=0;for (ri i=0;i<x;i++) {ans+=count(h,i)-count(dis[i]-1,i);}printf("%llu\n",ans);
}

转载于:https://www.cnblogs.com/shxnb666/p/11278430.html

【洛谷3043】跳楼机相关推荐

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

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

  2. 用0和5凑被90整除的max数(洛谷P2192题题解,Java语言描述)

    题目要求 P2192题目链接 分析 盘一盘各种情况吧: 要被90整除,就必须被10整除,所以必须有0,没0就是-1啊. 要被90整除,一堆5,靠0是没用的,只能是9个5凑一堆儿才有用,有0但凑不够9个 ...

  3. 超级玛丽游戏(洛谷-P1000)

    题目背景 本题是洛谷的试机题目,可以帮助了解洛谷的使用. 题目描述 超级玛丽是一个非常经典的游戏.请你用字符画的形式输出超级玛丽中的一个场景. ********************####.... ...

  4. 洛谷——P1000 超级玛丽游戏

    P1000 超级玛丽游戏 题目背景 本题是洛谷的试机题目,可以帮助了解洛谷的使用. 建议完成本题目后继续尝试P1001.P1008. 另外强烈推荐新用户必读贴 题目描述 超级玛丽是一个非常经典的游戏. ...

  5. 洛谷P1000 超级玛丽游戏C++题解

    首先我们看这道题的题目"超级玛丽游戏",第一道题就让我们写个游戏出来.结果点进去一看,顿时觉得这道题是在开玩笑,本题是洛谷的试机题目,可以帮助了解洛谷的使用. 建议完成本题目后继续 ...

  6. 洛谷 P2388 阶乘之乘 题解

    博客园同步 原题链接 简要题意: 求 ∏ i = 1 n ∏ j = 1 i j \prod_{i=1}^n \prod_{j=1}^i j ∏i=1n​∏j=1i​j 的末尾有几个零. 显然,我们对 ...

  7. 【模拟】洛谷 P1000 超级玛丽游戏

    题目背景 本题是洛谷的试机题目,可以帮助了解洛谷的使用. 建议完成本题目后继续尝试P1001.P1008. 题目描述 超级玛丽是一个非常经典的游戏.请你用字符画的形式输出超级玛丽中的一个场景. *** ...

  8. 洛谷-官方题单版【入门篇】

    文章目录 [入门1]顺序结构 P1000 超级玛丽游戏 *P5704 [深基2.例6]字母转换 P5705 [深基2.例7]数字反转 P1425 小鱼的游泳时间 P1421 小玉买文具 P3954 [ ...

  9. 洛谷入门题单 --【入门1】顺序结构 题解

    - [P1001 A+B Problem] - [P1000 超级玛丽游戏] - [P5703 [深基2.例5]苹果采购] - [P5704 [深基2.例6]字母转换] - [P5705 [深基2.例 ...

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

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

最新文章

  1. Java中几个常见的关键字
  2. 设计模式 — 行为型模式 — 观察者模式
  3. 常见的局域网拓扑结构
  4. 兼容浏览器将NodeList对象转换为数组
  5. [css] 颜色hsla的字母分别表示什么?
  6. 如何为 SQL Server 2000 分发和安装 SQL-DMO(引用)
  7. 7-169 龟兔赛跑 (20 分)
  8. 软件设计师1991下午试题1(流程图解析)
  9. RemoteDebug iOS Webkit Adapter(适配器):一个可以让你(随时)随地调试Safari、 iOS WebView(的适配器)
  10. Mac配置OpenGL环境
  11. SQL Server学习笔记3: SQL Server2005集群上的SP3补丁升级步骤
  12. html5常用的小控件,收藏了
  13. 外卖返利微信小程序源码
  14. iis 支持apk json ipa下载
  15. 微信小程序利用echarts实现中国任意行政区域地图
  16. 【动画消消乐 】HTML+CSS 吃豆豆动画 073
  17. python练习题,使用爬虫爬取百度百科内置BeautifulSoup安装方法
  18. 程序员之 //是什么意思
  19. Codeforces Round #263 (Div. 1)-A,B,C
  20. 北雄安 南佛山:区块链政务应用C位城市已出线 ——区块链市政应用四级梯队盘点...

热门文章

  1. 用U盘安装ubuntu系统
  2. 野芭蕉V1.1.1-15.0429.1338
  3. 【转】音视频工程中VGA线材的选材技巧
  4. 拒绝丧偶式育儿,正确「养育男孩」
  5. 数据分析--企业的贤内助 附下载地址
  6. 在ArcGIS中创建Python工具或者pyt工具箱
  7. 在局域网被网络管理员限制了远程连接的默认端口3389,导致无法远程桌面连接
  8. 单片机24秒倒计时c语言,基于51单片机的篮球24秒倒计时器
  9. 菜鸡程序员是如何写代码的?
  10. 博弈论(1)—— 零和与非零和