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. ...
随机推荐
- ms sql server line feed
多行文本换行: SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ======================================== ...
- ue4学习资料
官网中文 https://docs.unrealengine.com/latest/CHN/index.html 官网英文 https://docs.unrealengine.com/latest/I ...
- 最棒的Unity Github 项目收集(2016)
http://1darray.com/blog/2016/03/08/best-unity-github-repositories/ List of best public GitHub reposi ...
- linux 查看系统版本号(转)
一.查看Linux内核版本命令(两种方法): 1.cat /proc/version [root@localhost ~]# cat /proc/versionLinux version 2.6.18 ...
- Codecraft-17 and Codeforces Round #391 (Div. 1 + Div. 2, combined) C
It's that time of the year, Felicity is around the corner and you can see people celebrating all aro ...
- Hive进阶_Hive的客户端操作
启动远程客户端 # hive --service hiveserver2获取连接-〉创建运行环境-〉执行HQL-〉处理结果-〉释放资源 工具类 package demo.utils; import j ...
- Hive_Hive的数据模型_外部表
Hive的数据模型之外部表 外部表(External Table)- 指向已经在HDFS中存在的数据,可以创建Partition- 它和内部表在元数据的组织上是相同的,而实际数据的存储则有较大的差异. ...
- css文本换行的问题
今天敲代码的时候发现了一个一直都没太注意的小问题,当我在一个200px的div中写了一长串的‘f ‘时发现没有换行 但加上空格或标点符号后就能自动换行 原来浏览器把它当成了一串完整的单词,所以默认不换 ...
- CSS3 - CheakBox 开关效果
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- python之三级菜单
python之三级菜单 要求: 1. 运行程序输出第一级菜单 2. 选择一级菜单某项,输出二级菜单,同理输出三级菜单 3. 菜单数据保存在文件中 4. 让用户选择是否要退出 5. 有返回上一级菜单的功 ...