51nod 1693 水群
,接下来,他可以进行三种操作。一个整数n表示需要得到的表情数
一个整数ans表示最少需要的操作数
233
17
#include <cstring>
#include <cstdio>
#include <queue>
#define N 1000005 using namespace std;
bool notPrime[N],vis[N];
int Prime[N]={,,,,,,,},num,n,dis[N];
void spfa()
{
queue<int>q;
q.push();
memset(dis,0x3f,sizeof(dis));
vis[]=;
dis[]=;
for(int now;!q.empty();)
{
now=q.front();q.pop();
vis[now]=;
for(int i=;i<=;++i)
{
int v=now*Prime[i];
if(v>n+) break;
if(v<n+&&dis[v]>dis[now]+Prime[i])
{
dis[v]=dis[now]+Prime[i];
if(!vis[v])
{
vis[v]=;
q.push(v);
}
}
}
if(now>&&dis[now-]>dis[now]+)
{
dis[now-]=dis[now]+;
if(!vis[now-])
{
vis[now-]=;
q.push(now-);
}
}
}
}
void init()
{
notPrime[]=;
for(int i=;i<=N-;++i)
{
if(!notPrime[i]) Prime[++num]=i;
for(int j=;j<=num&&i*Prime[j]<=N-;++j)
{
notPrime[i*Prime[j]]=;
if(i%Prime[j]==) break;
}
}
}
int main()
{
scanf("%d",&n);
//init();
spfa();
printf("%d\n",dis[n]);
return ;
}
#include <iostream>
#include <cstring>
#include <cstdio> using namespace std;
int n,dp[],lit;
int main()
{
cin>>n;
memset(dp,/,sizeof(dp)),dp[]=;
for(int i=,v,base;i<=n+;++i)
{
base=dp[i];
for(v=;true;++v)
if(dp[i+v]+v<=base) base=dp[i+v]+v;
else break;
dp[i]=base,++base;
for(v=;i+v*i<=n+;++v)
dp[i+v*i]=min(dp[i+v*i],base+v);
}
cout<<dp[n];
return ;
}
dp (Orz myj)
51nod 1693 水群的更多相关文章
- 51nod 1693 水群(神奇的最短路!)
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1693 题意: 思路: 这个思路真是神了.. 对于每个点$i$,它需要和$ ...
- 51 nod 1693 水群
1693 水群 基准时间限制:0.4 秒 空间限制:524288 KB 分值: 160 难度:6级算法题 收藏 关注 总所周知,水群是一件很浪费时间的事,但是其实在水群这件事中,也可以找到一些有 ...
- 51nod1693 水群
题目链接:51nod1693 水群 题解参考大神的博客:http://www.cnblogs.com/fighting-to-the-end/p/5874763.html 这题时限0.4秒,真的够狠的 ...
- 51nod 博弈论水题
51nod1069 Nim游戏 有N堆石子.A B两个人轮流拿,A先拿.每次只能从一堆中取若干个,可将一堆全取走,但不可不取,拿到最后1颗石子的人获胜.假设A B都非常聪明,拿石子的过程中不会出现失误 ...
- 51nod1693 水群 最短路
若A=K*B,若仅通过操作二:将B变换为A需要K步, 由算数基本定理可知:k=p1*p2*……pn(p为素数,且可能重复) 那么:将B转化为p1*B需要p1步,将p1*B转化为p1*p2*B需要p2步 ...
- 胡小兔的OI日志3 完结版
胡小兔的 OI 日志 3 (2017.9.1 ~ 2017.10.11) 标签: 日记 查看最新 2017-09-02 51nod 1378 夹克老爷的愤怒 | 树形DP 夹克老爷逢三抽一之后,由于采 ...
- NOIP模拟7
期望得分:100+100+20=220 实际得分:100+95+20=215 T1 洛谷 P1306 斐波那契公约数 #include<cstdio> #include<cstrin ...
- 【07】QQ群管理公告小结:
[07]QQ群管理公告小结: 01,请看公告遵守相关规定. 02,群内除QQ自带的缺省表情外(不是QQ的VIP或大图表情),禁止发送大表情,大图片(展示问题的屏幕截图除外), 03,修改群名片 ...
- CTSC2016&&APIO2016滚粗记&&酱油记&&游记<del>(持续更新)</del>
挖一波坑 #include <cstdio> using namespace std; int main(){ puts("转载请注明出处:http://www.cnblogs. ...
随机推荐
- 通过bed文件获取fasta序列
一.BED 文件格式 BED 文件格式提供了一种灵活的方式来定义的数据行,以用来描述注释的信息.BED行有3个必须的列和9个额外可选的列. 每行的数据格式要求一致. 必须包含的3列: 1.chrom, ...
- socket函数的使用方法(参数详解)
socket函数的使用方法如下: int socket(int domain, int type, int protocol); 在参数表中,domain指定使用何种的地址类型,比较常用的有: PF_ ...
- C++读取XML,tinyXml的使用
前言: 最近在开发的过程中,有个需求是对xml进行格式转化,从一种格式转化到另外一种格式.因此,就需要读取xml进行处理.原本打算写成工具在linux下运行,不过后来考虑到和系统结合,最后也就使用了前 ...
- ASP.NET学习笔记(四)CDOSYS邮件
使用 CDOSYS 发送电子邮件 CDO (Collaboration Data Objects) 是一项微软的技术,设计目的是用来简化通信程序的创建. CDOSYS 是 ASP 中的内置组件.我们会 ...
- Python包管理工具小结
此文已由作者张耕源授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 作为一名接触Python有一段时间的初学者,越来越体会到Python的方便之处,它使人能更 多的关注业务本身 ...
- Unity手游之路自动寻路Navmesh之高级主题
http://blog.csdn.net/janeky/article/details/17492531 之前我们一起学习了如何使用Navmesh组件来实现最基本的角色自动寻路.今天我们再继续深入探索 ...
- linux 安装mysql 5.7
1.下载安装包http://dev.mysql.com/downloads/mysql/#downloads推荐下载通用安装方法的TAR包(http://cdn.mysql.com//Download ...
- 一、接口测试——HTTPRunner二次开发之参数化一
目前项目中在使用开源框架HTTPRunner,时间使用过程中会用到生成随机信息的方法,如生成随机姓名.随机手机号.身份证号.姓名.地址等.以下对二次开发的过程进行简要描述. 一.需求 1.需要测试的接 ...
- 剑指Offer的学习笔记(C#篇)-- 树的子结构
题目描述 输入两棵二叉树A,B,判断B是不是A的子结构.(ps:我们约定空树不是任意一个树的子结构) 一 . 二叉树的概念 树形结构是一种典型的非线性结构,除了用于表示相邻关系外,还可 ...
- python——类与对象
__init__ 方法: 1.Init 初始化方法的返回值必须是None. 3.类没有定义阶段,函数有定义阶段(不调用不执行). 实例化时触发__init__方法执行,为对象添加属性.[t1=stu ...