题面

传送门

Sol

有一个显然的想法
处理出y,zy,zy, z能凑出的高度
然后这些高度凑一些xxx就可以得到其它的高度

那么可以把这些y,z" role="presentation">y,zy,zy, z凑出的高度对xxx取模,其它的用x" role="presentation">xxx来填补
所以设f[i]f[i]f[i]表示y,zy,zy, z凑出高度%x%x\%x为iii需要的最低高度
那么答案就是

∑i=0x−1⌊(n−f[i])x⌋+1" role="presentation">∑i=0x−1⌊(n−f[i])x⌋+1∑i=0x−1⌊(n−f[i])x⌋+1

\sum_{i=0}^{x-1}\lfloor\frac{(n-f[i])}{x}\rfloor+1

# include <bits/stdc++.h>
# define RG register
# define IL inline
# define Fill(a, b) memset(a, b, sizeof(a))
using namespace std;
const int _(1e5 + 5);
typedef long long ll;IL ll Input(){RG ll x = 0, z = 1; RG char c = getchar();for(; c < '0' || c > '9'; c = getchar()) z = c == '-' ? -1 : 1;for(; c >= '0' && c <= '9'; c = getchar()) x = (x << 1) + (x << 3) + (c ^ 48);return x * z;
}int x, y, z, first[_], cnt, vis[_];
ll n, ans, f[_];
struct Edge{int to, next, w;
} edge[_ << 1];
queue <int> Q;IL void Add(RG int u, RG int v, RG int w){edge[cnt] = (Edge){v, first[u], w}, first[u] = cnt++;
}int main(RG int argc, RG char* argv[]){n = Input(), x = Input(), y = Input(), z = Input();if(y < x) swap(x, y);if(z < x) swap(x, z);for(RG int i = 0; i < x; ++i) first[i] = -1;for(RG int i = 0; i < x; ++i) Add(i, (i + y) % x, y), Add(i, (i + z) % x, z);Fill(f, 127), f[1 % x] = 1, vis[1 % x] = 1, Q.push(1 % x);while(!Q.empty()){RG int u = Q.front(); Q.pop();for(RG int e = first[u]; e != -1; e = edge[e].next){RG int v = edge[e].to, w = edge[e].w;if(f[u] + w < f[v]){f[v] = f[u] + w;if(!vis[v]) vis[v] = 1, Q.push(v);}}vis[u] = 0;}for(RG int i = 0; i < x; ++i) if(f[i] <= n) ans += (n - f[i]) / x + 1;return printf("%lld\n", ans), 0;
}

Luogu3403: 跳楼机相关推荐

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

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

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

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

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

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

  4. 【JZOJ A组】跳楼机

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

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

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

  6. JZOJ #4722 跳楼机 (最短路模型的完美转化)

    题目描述: 给出$h,x,y,z$,求在$h$以内,$x,y,z$可以凑出多少个不同的数.$(1\leq{h}\leq{10^{18}},1\leq{x,y,z}\leq{10^5})$ 解题思路: ...

  7. P3403 跳楼机 同余最短路

    传送门 题意: 思路: 转换一下题目就是用若干x,y,zx,y,zx,y,z能凑出来多少个<=h<=h<=h的数.先考虑两个数y,zy,zy,z的情况,我们如果能求出来这两个数能凑出 ...

  8. JZOJ4722 跳楼机 巧妙地转换为最短路模型

    题目大意 有一个 H H高的楼房,现在给你三个正整数x,y,zx,y,z表示,在每一层 i i,你有4种选择,到i+xi+x, i+y i+y, i+z i+z层或第 1 1层.问能到多少个楼层. H ...

  9. 最短路模型-跳楼机-洛谷P3403

    第一次遇到这种数学题转化为图论的题目,与我一开始的想法相同,将其中一个变量与另外两个变量分离开来,便于处理.由于以前一直认为SPFA会被卡,所以使用了堆优化的Dijkstra,结果超时了,为什么呢?因 ...

  10. 【算法笔记】一步一步推出来的同余最短路优化思路(千字长文,超详细)

    整理的算法模板合集: ACM模板 目录 同余最短路 例题1:luogu P3403 跳楼机 例题2:luogu P2371 [国家集训队]墨墨的等式 例题3:luogu P2662 牛场围栏 同余最短 ...

最新文章

  1. 影像组学视频学习笔记(25)-查看准确度、灵敏度、特异度及混淆矩阵、Li‘s have a solution and plan.
  2. 谷歌发布全新TensorFlow库“tf.Transform” 简化机器学习数据预处理过程
  3. PWN-PRACTICE-CTFSHOW-8
  4. 病毒——隐藏鸟 系统文件夹不见了
  5. redis集群环境搭建入门
  6. 最近华为笔试题(9.1)第二题
  7. 一个 C盘搬家 方式.Chrome搬家到D盘
  8. 苹果悬浮球_手机轻松实现多个系统!安卓手机运行苹果iOS系统?期待!
  9. ios 拍照上传到服务器_iOS 上传图片到服务器
  10. html不能打开图片,HTML无法打开图片
  11. Ajax Interceptor工具分享
  12. 七牛数据处理再添新兵——图片瘦身
  13. 【TA-霜狼_may-《百人计划》】美术2.1 DCC工具链与引擎工具链
  14. 计算机教学音乐,计算机音乐的教学和应用研究
  15. 网闸虚拟服务器,tcp客户端和tcp服务器端 网闸
  16. 京东校招java面试题_京东2018校招编程题解答(Java)
  17. 慕课网5 文件传输基础
  18. linux系统使用ps,Linux系统ps命令使用教程
  19. 蓝桥杯 java 历届试题 对局匹配
  20. keil5安装及51单片机入门程序实例

热门文章

  1. 关于Video Src 带有 blob:http的视频如何下载的问题
  2. 水晶易表(Xcelsius) 2008 学习
  3. python超清壁纸_python爬虫 爬取超清壁纸代码实例
  4. 笔记本连接老式显示器(VGA线+HDMI接口)
  5. ROS创建launch文件
  6. spring学习笔记 (6)使用mybatis操作数据库增删改查
  7. 百分之99的人都不知道的Python爆破ZIP文件
  8. bzoj:1922: [Sdoi2010]大陆争霸 (luogu 2446)
  9. 康托尔集的物理意义1.2
  10. ip代理 12-02-03