Small Multiple(变相最短路/双向队列)

题目要求找到一个最小的数,使得它的每一位数字之和为N的倍数。这个问题可以转化为从1出发,通过加1或乘10的操作到达N的倍数的最短路径问题。可以使用广度优先搜索(BFS)或最短路算法(如堆优化的Dijkstra)来解决。题解提供了从1出发建立图并求解最短路的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

传送门

题意:

题目很短就是给你一个N,然后要找一个N的倍数,需要他们的每一位数之和最小。

请输出最小值,如   6   , 12=2*6. 此时可以得到3.

题解:

这个题,本来我也是划水的,真的没看到什么规律可言,但是细心的Passer_by看出来。

其实这个题目就是问一个怎么通过从1开始走达到N的倍数的问题。

可以有两个操作:

  • 操作一:可以加1          %n
  • 操作二:可以乘以10    %n

这不就是我们以前BFS的思想吗?

以前不是有BFS那一类通过  向左走x步,向右做y步,最后操作多少次能得到答案。

这个不就是以前的思想吗?一模一样。但是题解除了给了BFS这种想法外还给了,建图的做法。

这个想法不太一样,就是通过某一个点加1之间的权值就是1,某一点*10.权值是10;

从1开始跑一个最短路得到答案。

代码主要参考网上的:

/*if you ask me how much i love you
the moonlight stand for my heart*/
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
pair<int,int>p;
deque< pair<int,int> >q;
int vis[100005];
int main()
{
     int n;
     scanf("%d",&n);
     int t=1,cnt=1,minz=0x3f3f3f3f;
 
### 解释 Linux 命令 `/bin/cp support-files/my-small.cnf /etc/my.cnf` 的作用及用法 #### 1. 命令解析 命令 `cp` 是用于复制文件或目录的主要工具之一。具体来说,此命令会将源路径下的文件复制到目标路径。 - **源文件**: `support-files/my-small.cnf` - **目标位置**: `/etc/my.cnf` 这条命令的具体含义是从当前工作目录或者指定路径下找到名为 `my-small.cnf` 的 MySQL 配置模板文件并将其复制到系统的全局配置文件路径 `/etc/my.cnf` 中[^2]。 #### 2. 参数说明 虽然在这个例子中并没有显示额外参数,但是通常情况下可以加上一些选项来改变行为: - `-i`: 提示确认覆盖已存在的同名文件。 - `-v`: 显示详细的处理过程。 - `-r`: 如果是目录,则递归复制整个目录树(本例不适用因为操作对象为单个文件)。 因此更完整的写法可能是这样的: ```bash /bin/cp -iv support-files/my-small.cnf /etc/my.cnf ``` 这将会在执行过程中询问是否要覆盖现有文件,并打印出每一步的操作信息。 #### 3. 路径解释 - **/bin/cp**: 表明使用的是位于 `/bin` 下的标准版本的 `cp` 工具而不是其他可能存在于环境变量中的替代实现。 - **support-files/**: 这部分取决于实际的工作目录或者是通过绝对路径给出的位置;它指向MySQL分发包内的支持文件夹。 - **/etc/my.cnf**: 此处表示Linux系统上标准的MySQL服务器配置文件所在位置,在这里放置自定义设置可以让所有依赖于默认配置的应用程序读取新的设定值[^3]。 #### 4. 权限注意事项 需要注意的是,修改 `/etc` 目录下的任何内容都需要超级用户的权限。如果尝试运行上述命令而没有适当的权利,可能会收到权限不足错误。此时应该考虑使用带有提升权限的方式比如sudo来进行操作: ```bash sudo cp -iv support-files/my-small.cnf /etc/my.cnf ``` 这样就可以确保有足够的权利完成所需的更改而不必担心访问控制方面的问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值