【洛谷3043】跳楼机
题面
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】跳楼机相关推荐
- 【洛谷3043】跳楼机(最短路)
[洛谷3043]跳楼机(最短路) 题面 洛谷 题解 思路很妙嗷. 先只考虑只用\(y,z\)两种移动方式,它们一定能够到达一些楼层, 那么这些楼层再只用\(x\)拓展就能够计算答案. 那么我们这样子计 ...
- 用0和5凑被90整除的max数(洛谷P2192题题解,Java语言描述)
题目要求 P2192题目链接 分析 盘一盘各种情况吧: 要被90整除,就必须被10整除,所以必须有0,没0就是-1啊. 要被90整除,一堆5,靠0是没用的,只能是9个5凑一堆儿才有用,有0但凑不够9个 ...
- 超级玛丽游戏(洛谷-P1000)
题目背景 本题是洛谷的试机题目,可以帮助了解洛谷的使用. 题目描述 超级玛丽是一个非常经典的游戏.请你用字符画的形式输出超级玛丽中的一个场景. ********************####.... ...
- 洛谷——P1000 超级玛丽游戏
P1000 超级玛丽游戏 题目背景 本题是洛谷的试机题目,可以帮助了解洛谷的使用. 建议完成本题目后继续尝试P1001.P1008. 另外强烈推荐新用户必读贴 题目描述 超级玛丽是一个非常经典的游戏. ...
- 洛谷P1000 超级玛丽游戏C++题解
首先我们看这道题的题目"超级玛丽游戏",第一道题就让我们写个游戏出来.结果点进去一看,顿时觉得这道题是在开玩笑,本题是洛谷的试机题目,可以帮助了解洛谷的使用. 建议完成本题目后继续 ...
- 洛谷 P2388 阶乘之乘 题解
博客园同步 原题链接 简要题意: 求 ∏ i = 1 n ∏ j = 1 i j \prod_{i=1}^n \prod_{j=1}^i j ∏i=1n∏j=1ij 的末尾有几个零. 显然,我们对 ...
- 【模拟】洛谷 P1000 超级玛丽游戏
题目背景 本题是洛谷的试机题目,可以帮助了解洛谷的使用. 建议完成本题目后继续尝试P1001.P1008. 题目描述 超级玛丽是一个非常经典的游戏.请你用字符画的形式输出超级玛丽中的一个场景. *** ...
- 洛谷-官方题单版【入门篇】
文章目录 [入门1]顺序结构 P1000 超级玛丽游戏 *P5704 [深基2.例6]字母转换 P5705 [深基2.例7]数字反转 P1425 小鱼的游泳时间 P1421 小玉买文具 P3954 [ ...
- 洛谷入门题单 --【入门1】顺序结构 题解
- [P1001 A+B Problem] - [P1000 超级玛丽游戏] - [P5703 [深基2.例5]苹果采购] - [P5704 [深基2.例6]字母转换] - [P5705 [深基2.例 ...
- 【洛谷 P3403】跳楼机(SPFA)
P3403 跳楼机 题目背景 DJL为了避免成为一只咸鱼,来找srwudi学习压代码的技巧. 题目描述 Srwudi的家是一幢h层的摩天大楼.由于前来学习的蒟蒻越来越多,srwudi改造了一个跳楼机, ...
最新文章
- Java中几个常见的关键字
- 设计模式 — 行为型模式 — 观察者模式
- 常见的局域网拓扑结构
- 兼容浏览器将NodeList对象转换为数组
- [css] 颜色hsla的字母分别表示什么?
- 如何为 SQL Server 2000 分发和安装 SQL-DMO(引用)
- 7-169 龟兔赛跑 (20 分)
- 软件设计师1991下午试题1(流程图解析)
- RemoteDebug iOS Webkit Adapter(适配器):一个可以让你(随时)随地调试Safari、 iOS WebView(的适配器)
- Mac配置OpenGL环境
- SQL Server学习笔记3: SQL Server2005集群上的SP3补丁升级步骤
- html5常用的小控件,收藏了
- 外卖返利微信小程序源码
- iis 支持apk json ipa下载
- 微信小程序利用echarts实现中国任意行政区域地图
- 【动画消消乐 】HTML+CSS 吃豆豆动画 073
- python练习题,使用爬虫爬取百度百科内置BeautifulSoup安装方法
- 程序员之 //是什么意思
- Codeforces Round #263 (Div. 1)-A,B,C
- 北雄安 南佛山:区块链政务应用C位城市已出线 ——区块链市政应用四级梯队盘点...