题解:

首先将问题转化,可以发现操作改为两种

一种是s*=k,代价为k,一种是s--,代价为1

转化成图论,spfa跑最短路

然后更据一些证明,代价1的k<=13且为质数,并且不可能操作2连续5次

所以就可以优化

代码:

#include<bits/stdc++.h>
using namespace std;
const int N=,M=;
int n,a[N],b[M],f[N],in[N],dis[N];
int main()
{
scanf("%d",&n);
f[]=;
f[]=,f[]=,f[]=,f[]=,f[]=,f[]=;
int l=,r=;
memset(dis,0x3f,sizeof dis);
dis[]=;
b[]=;
while (l!=r)
{
int now=b[l++];
in[now]=;
l%=M;
if (now!=&&dis[now-]>dis[now]+)
{
dis[now-]=dis[now]+;
if (!in[now-])
{
b[r++]=now-;
in[now-]=;
r%=M;
}
}
for (int i=;f[i]*now<=n+&&i<=f[];i++)
{
int k=f[i]*now;
if (dis[k]>dis[now]+f[i])
{
dis[k]=dis[now]+f[i];
if (!in[k])
{
b[r++]=k;
in[k]=;
r%=M;
}
}
}
}
printf("%d",dis[n]);
}

51nod1693的更多相关文章

  1. 51nod1693 水群

    题目链接:51nod1693 水群 题解参考大神的博客:http://www.cnblogs.com/fighting-to-the-end/p/5874763.html 这题时限0.4秒,真的够狠的 ...

  2. 51nod1693 水群 最短路

    若A=K*B,若仅通过操作二:将B变换为A需要K步, 由算数基本定理可知:k=p1*p2*……pn(p为素数,且可能重复) 那么:将B转化为p1*B需要p1步,将p1*B转化为p1*p2*B需要p2步 ...

随机推荐

  1. newcode wyh的吃鸡(优势队列+BFS)题解

    思路: 要用优势队列,因为有的+2,有的+1,所以队列中的步长是不单调的,所以找到一个答案但不一定最小,所以用优势队列把小的放在队首. 要记录状态,所以开了三维,题目和昨天做的那道小明差不多 vis开 ...

  2. Node.js中package.json中^和~的区别

    webpack 项目的package.json 文件列出了项目所依赖的插件和库,同时也给出了对应的版本说明,但是在版本说明前面还有个符号:'^'(插入符号)和'~'(波浪符号),总结了下他们之间的区别 ...

  3. Python非递归遍历多叉树

    class Queue: def __init__(self,max_size): self.max_size = int(max_size) self.queue = [] def put(self ...

  4. DDSM数据处理之PngWithOverlay 框出病灶区域

    修改代码路径 若overlay是某一侧的标注. 文件夹里某一侧的png 应该有对应 某一侧的overlay 这样一一对应才可以使得代码运行. 否则需要手动删除没有overlay的png图片. 左侧没有 ...

  5. Eclipse如何快速改变主题颜色

    厌倦了Eclipse的白底黑子,我们来更换下Eclipse的主题颜色,让眼睛更舒服一点 首先先进入网址:http://eclipsecolorthemes.org/ 选择一个主题进入,点击进入如下: ...

  6. js获取url 参数

    window.getRequest = function (url) { var theRequest = new Object(); var indexOf = url.indexOf(" ...

  7. MVC动态二级域名解析

    动态二级域名的实现: 应用场景:目前产品要实现block功能,因为工作需要实现二级域名:www.{CompanyUrl}.xxx.com 假设产品主域名入口为:www.xxx.com 公司员工管理:w ...

  8. QString 编码转换

    参考网址:http://blog.csdn.net/lfw19891101/article/details/6641785 (网页保存于:百度云CodeSkill33 --> 全部文件 > ...

  9. 《Blue Flke》团队项目需求改进与系统设计

    Github地址:https://github.com/13993013291/ruanjianguigexuqiu/tree/master 一.团队项目需求分析改进 1.<通讯录管理系统需求说 ...

  10. Android 使用SQLite

    SQLite简介 Google为Andriod的较大的数据处理提供了SQLite,他在数据存储.管理.维护等各方面都相当出色,功能也非常的强大.SQLite具备下列特点: 1.轻量级 使用 SQLit ...