每日OJ题_牛客WY28 跳石板(动态规划)

news2024/11/18 6:20:10

目录

牛客WY28 跳石板

解析代码


牛客WY28 跳石板

跳石板_牛客题霸_牛客网


解析代码

#include <iostream>
#include <vector>
#include <climits>
#include <cmath>
using namespace std;

void get_div_num(int n, vector<int>& arr)
{
	for (int i = 2; i <= sqrt(n); ++i)
	{
		if (n % i == 0) // i是约数
		{
			arr.push_back(i);
			if (n / i != i) // 另一个大的约数
				arr.push_back(n / i);
		}
	}
}
int Jump(int n, int m)
{
	vector<int> step(m + 1, INT_MAX);
	// 存放到达这个位置的最少步数,int_max表示不可达到
	step[n] = 0; // 当前位置初始化
	for (int i = n; i < m; ++i)
	{
		if (step[i] == INT_MAX)
			continue;
		// 获取i的约数,并保存到arr
		vector<int> arr;
		get_div_num(i, arr);
		for (int j = 0; j < arr.size(); ++j)
		{
			if (arr[j] + i <= m && step[arr[j] + i] != INT_MAX)
			{	// 挑选一个最小值
				step[arr[j] + i] = min(step[arr[j] + i], step[i] + 1);
			}
			else if (arr[j] + i <= m && step[arr[j] + i] == INT_MAX)
			{	// 更新不可到达的地方
				step[arr[j] + i] = step[i] + 1;
			}
		}
	}
	return step[m] == INT_MAX ? -1 : step[m];
}

int main()
{
	int n = 0, m = 0, min_step = 0;
	while (cin >> n >> m)
	{
		min_step = Jump(n, m);
		cout << min_step;
	}
	return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1506139.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于java+springboot+vue实现的农产品智慧物流系统(文末源码+Lw)23-239

课题意义 现如今&#xff0c;信息种类变得越来越多&#xff0c;信息的容量也变得越来越大&#xff0c;这就是信息时代的标志。近些年&#xff0c;计算机科学发展得也越来越快&#xff0c;而且软件开发技术也越来越成熟&#xff0c;因此&#xff0c;在生活中的各个领域&#x…

WEBUI中的完美像素模式(Pixel Perfect)到底是什么意思

在webui的controlnet中&#xff0c;有个选项&#xff0c;叫做“完美像素模式”&#xff0c;英文为“pixel perfect mode”&#xff0c;有很多朋友在使用的时候不知道这个神奇的选项是否应该勾选上&#xff0c;所以有时候排查问题的时候&#xff0c;会反复的选择和去掉勾选&…

机器学习的基础学习笔记

黑马的学习视频 大家常说的人工智能、机器学习、深度学习其实是包含关系&#xff0c;深度学习是机器学习的一种特殊方法&#xff0c;而机器学习又是人工智能的一个子领域。 其中机器学习是使计算机系统能够通过学习经验和数据来改进性能。机器学习算法能够从数据中发现模式&am…

Igraph入门指南 5

2、graph_from系列&#xff0c;将其他R数据结构转换成图 2-1 邻接矩阵转图&#xff1a;graph_from_adjacency_matrix 可以接受Matrix包创建的稀疏矩阵作为参数 邻接矩阵中行的顺序被保留&#xff0c;并作为图中顶点的顺序。 本函数几个重要的参数&#xff1a; weighted&am…

美团 Java 开发笔试热经

Voiceover&#xff1a; 见者有缘&#xff0c;缘来好运。欢迎大家来到我的博客【CS_GUIDER】&#xff1a;&#xff08;建议收藏至浏览器书签&#xff09; https://wlei224.gitee.io &#xff08;建议访问这个&#xff0c;速度极快&#xff09; https://wl2o2o.github.io &#x…

Kafka 面试题及答案整理,最新面试题

Kafka中的Producer API是如何工作的&#xff1f; Kafka中的Producer API允许应用程序发布一流的数据到一个或多个Kafka主题。它的工作原理包括&#xff1a; 1、创建Producer实例&#xff1a; 通过配置Producer的各种属性&#xff08;如服务器地址、序列化方式等&#xff09;来…

数据结构/C++:AVL树

数据结构/C&#xff1a;AVL树 概念实现插入左单旋右单旋左右双旋右左双旋 总代码展示 概念 AVL树是一种自平衡二叉搜索树&#xff08;BST&#xff09;&#xff0c;被命名为Adelson-Velskii和Landis树&#xff0c;以它们的发明者们的名字命名。AVL树通过在插入和删除操作后进行…

嘉立创画PCB板子入门喔

PCB层叠结构 单层板&#xff0c;双层板&#xff08;就是在单层板的基础上过孔到背面&#xff09;&#xff0c;四层板&#xff0c;六层板&#xff08;四层&#xff0c;六层就是在双层板子基础上通过通孔&#xff0c;盲孔&#xff0c;埋空完成&#xff09;一般以偶数去打板。 为什…

2024年掌握人工智能的顶级课程

[AI 课程推荐] 谷歌、微软、哈佛大学, DeepLearning.AI都发布了免费的人工智能和ChatGPT的课程。 以下是 2024 年掌握人工智能的顶级课程: GOOGLE - 生成式人工智能学习路径微软- 为每个人提供生成式人工智能微软 - 人工智能初学者入门哈佛 - CS50 的 Python 人工智能简介Deep…

MATLAB报错:尝试将 SCRIPT imread 作为函数执行

报错&#xff1a; 在执行matlab脚本的时候出现报错。 >> imread 尝试将 SCRIPT imread 作为函数执行: S:\temp_file\matlab\DigitalImageProcessing\imread.m出错 imread (line 2) I imread(S:\temp_file\matlab\DigitalImageProcessing\blueman.png);分析以及解决方…

Java并发编程总结(一)

一、进程与线程 1、进程与线程 1.1、进程 程序一般认为是静态存储的&#xff0c;而进程则是活动的&#xff0c;真正执行的、动态加载到内存的&#xff0c;被CPU执行的。 程序由指令和数据组成&#xff0c;但这些指令要运行&#xff0c;数据要读写&#xff0c;就必须将指令加…

解决 JavaScript heap out of memory 报错

前台运行项目时候提示内存溢出 解决 先执行&#xff1a; export NODE_OPTIONS"--max-old-space-size4096" 再运行&#xff1b; nom run serve

算法---双指针练习-4(盛水最多的容器)

题目 1. 题目解析2. 讲解算法原理3. 编写代码 1. 题目解析 题目地址&#xff1a;盛水最多的容器 2. 讲解算法原理 算法的主要思路是使用双指针的方法&#xff0c;通过不断调整指针的位置来计算面积&#xff0c;并更新最大面积。具体步骤如下&#xff1a; 初始化左指针x为数组…

Chrome浏览器好用的几个扩展程序

Chrome好用的扩展程序 背景目的介绍JsonHandle例子未完待续。。。。。。 背景 偶然在往上看到Chrome有很多好用的扩展程序&#xff0c;比较好用&#xff0c;因此记录下比较实用的扩展程序。 目的 记录Chrome浏览器好用的插件。 介绍 JsonHandle下载以及无法扩展插件的解决…

C#实现线性查找算法

C#实现线性查找算法 以下是使用 C# 实现线性查找算法的示例代码&#xff1a; using System;class Program {static int LinearSearch(int[] array, int target){for (int i 0; i < array.Length; i){if (array[i] target){return i; // 如果找到目标&#xff0c;返回其索…

《时间贫困》

作者&#xff1a;【英】凯茜霍姆斯 深陷困境&#xff1a;时间贫困且精疲力竭 我们生活在生产力至上的文化中&#xff0c;忙碌已经成了一种身份的象征&#xff0c;也是个人价值的一种体现。然而&#xff0c;基于我个人的经历和研究&#xff0c;我发现这种忙碌的生活状态并不能…

【Web开发】深度学习HTML(超详细,一篇就够了)

&#x1f493; 博客主页&#xff1a;从零开始的-CodeNinja之路 ⏩ 收录文章&#xff1a;【Web开发】深度学习html(超详细,一篇就够了) &#x1f389;欢迎大家点赞&#x1f44d;评论&#x1f4dd;收藏⭐文章 目录 HTML1. HTML基础1.1 什么是HTML1.2 认识HTML标签1.3 HTML文件基本…

计算机网络(五)

网络层 网络层的主要目的是实现网络互连&#xff0c;进而实现数据包在各网络之间的传输。 要实现网络层&#xff0c;主要解决三个问题&#xff1a; ①网络层向运输层提供怎样的服务&#xff1f;&#xff08;“可靠传输“、”不可靠传输“&#xff09; ②网络层寻址 ③路由选择…

GCN 翻译 - 3

3 SEMI-SUPERVISED NODE CLASSIFICATION 这里简单引入一个例子&#xff0c;利用图上信息传播的方式的一个灵活的模型&#xff0c;我们来解决一个图上节点分类的半监督问题。正如在introduction里面提到的&#xff0c;我们应用数据X和图结构的邻接矩阵锁提出的模型f(X,A)在图结…

python 网络库集锦

目录 通用网络库 网络爬虫框架 1.功能齐全的爬虫 2.其他 HTML/XML解析器 1.通用 2.清理 文本处理 自然语言处理 浏览器自动化与仿真 多重处理 异步网络编程库 队列 云计算 网页内容提取 WebSocket DNS解析 计算机视觉 通用网络库 1.urllib -网络库(stdlib)。…