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. ...
随机推荐
- java POP3
package com.skyzoo.Jutil; import java.io.BufferedReader; import java.io.IOException; import java.io. ...
- java的try后面跟括号
例子: try (FileReader reader = new FileReader("data.txt")) { ... }catch (IOException io) { . ...
- phpcms后台栏目权限修改无效的原因和解决方法
现象:在phpcms后台中,新建角色,然后修改角色对应栏目权限,结果一直只能选择一半数量的栏目.剩下的栏目怎么修改都不生效. 对比: step1:再另一个phpcms后台做同样操作,依旧是这个结果.跟 ...
- OpenCPN介绍及编译
OpenCPN介绍及编译 OpenCPN是一个航海应用软件系统,采用wxWidgets界面框架,支持OpenGL,可以跨平台运行在Windows , Linux , Mac电脑上. OpenCPN是一 ...
- ARP欺骗(完全版)
在讲ARP欺骗之前先讲讲什么是ARP以及ARP欺骗的原理吧. 一. 什么是ARP? arp英文全称: address resolution protocol 中文:地址解析协议 它的作用:是根 ...
- Post 提交用户名和密码, 用户自动登录,无需手动登录
public void AutoPost(string url,string domain, string userName) { AlipayProxy.UserReg.UserReg userRe ...
- 我也来Show一下我的VisualStudio2017
1.首先,在微软官方网站下载VS2017的安装程序,后续的安装将通过这个安装程序来引导.这里有三个版本可供选择:社区版.专业版和企业版,社区版免费,专业版和企业版可以免费体验,之后收费,当然,在中国盗 ...
- DIV文字水平垂直居中的方法
水平居中 text-align:center 垂直居中(vertical-align) vertical-align:middle; vertical-align时而没效果 然而真实使用的时候,我们会 ...
- python爬虫——web前端基础(2)
图像标记------->>>> <img>图像标记,用来在网页中显示图像.使用方法为:<img src="路径/文件名.图片格式" wi ...
- Maven打包Spark程序Pom配置
scala和java混合的spark程序之前使用其他配置始终有报找不到包的情况,尝试了一下如下配置可以打包成功.<build> <pluginManagement> <p ...