西安电子科技大学第16届程序设计竞赛网络同步赛 G-小国的复仇

  • 2
链接:https://www.nowcoder.com/acm/contest/107/G
来源:牛客网

题目描述

众所周知,汀老师是XDUACM实验室最优秀的人,无论是学习还是打游戏。今天他突然想到一个好玩的游戏。规则是这样的,在游戏中他要得到n个小国,初始的时候小国和小杰各有1个。经过了很久的修炼,汀老师学会了两种魔法,他每次可以动用自己的智慧来使用魔法。

第一个魔法:(小杰变小国)可以将自己的智慧复制和当前小杰一样数量的小国出来;

第二个魔法:(小国大爆发)可以将当前的小杰变成和小国的数量一样,然后小国的数量加倍!

因为汀老师的智力是无限多的,他不关心花掉的智力大小。但是好学的汀老师想尽快得到n个小国,使得能有更多的时间去读paper和打比赛。他想问问你,最少需要使用多少次魔法可以得到n个小国。

得到了n个小国后,汀老师去学习,但是小国们基因突变在电脑里越来越多!他们来组织汀老师学习,现在告诉汀老师我要得到更多的同伴!

输入描述:

多组数据,第一行一个正整数T(T<=100000)表示数据组数。
接下来T行,每行一个正整数n(n<=10^6)。

输出描述:

对于每组数据输出一个整数,表示得到n个小国汀老师最少需要使用多少次膜法。

题解:
写了一发dfs超时啦,打表找规律发现n为素数时答案为n-,否则n分解为两个因子的答案数相加。
代码:
#include<bits/stdc++.h>
using namespace std;
const int inf=1e9;
bool is[];
int p[],tol=;
int a[];
void init()
{
for(int i=;i<;i++)
{
if(!is[i])
{
p[tol++]=i;
for(int j=i+i;j<;j+=i)is[j]=;
}
}
}
int main()
{
init();int T;scanf("%d",&T);
a[]=;
for(int i=;i<=;i++)
{
if(!is[i])a[i]=i-;
else
{
int id=;
for(int j=p[]; ;j=p[++id])
{
if(i%j==)
{
a[i]=a[i/j]+a[i/(i/j)];break;
}
}
}
}
while(T--)
{
int n;scanf("%d",&n);printf("%d\n",a[n]);
}
return ;
}

西安电子科技大学第16届程序设计竞赛 G-小国的复仇的更多相关文章

  1. 西安电子科技大学第16届程序设计竞赛网络同步赛 G-小国的复仇

    sb找规律. 分解因数. #include<bits/stdc++.h> #define LL long long #define fi first #define se second # ...

  2. 西安电子科技大学第16届程序设计竞赛 E Xieldy And His Password

    链接:https://www.nowcoder.com/acm/contest/107/E来源:牛客网 Xieldy And His Password 时间限制:C/C++ 1秒,其他语言2秒 空间限 ...

  3. 西安电子科技大学第16届程序设计竞赛 B Words Game

    链接:https://www.nowcoder.com/acm/contest/107/B来源:牛客网 Words Game 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 13107 ...

  4. 西安电子科技大学第16届程序设计竞赛 F Operating System (unique() 去重函数)

    链接:https://www.nowcoder.com/acm/contest/107/F来源:牛客网 Operating System 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ ...

  5. 江西财经大学第一届程序设计竞赛 G题 小Q的口袋校园

    链接:https://www.nowcoder.com/acm/contest/115/G来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536 ...

  6. 电子科技大学第八届ACM趣味程序设计竞赛第四场(正式赛)题解

    A. Picking&Dancing 有一列n个石子,两人交替取石子,每次只能取连续的两个,取走后,剩下的石子仍然排成1列.问最后剩下的石子数量是奇数还是偶数. 读懂题意就没什么好说的. #i ...

  7. 2018年北京信息科技大学第十届程序设计竞赛暨ACM选拔赛题解

    链接:https://www.nowcoder.com/acm/contest/118/A 来源:牛客网 PUBG 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语 ...

  8. 江西财经大学第一届程序设计竞赛 G

    链接:https://www.nowcoder.com/acm/contest/115/G来源:牛客网 题目描述 周末,小Q喜欢在PU口袋校园上参加各种活动刷绩点,体验丰富多彩的大学生活. 但是每个活 ...

  9. 2018年长沙理工大学第十三届程序设计竞赛 G 逃离迷宫 【BFS】

    链接:https://www.nowcoder.com/acm/contest/96/G 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536 ...

随机推荐

  1. mongodb 的主从配置

    mongoDB主从配置如下: 主库: port=27017 dbpath=/usr/local/mongodb/data logpath=/usr/local/mongodb/log/mongodb. ...

  2. python练习_sed替换

    python练习_sed替换 需求: 做一个sed替换小程序,实现在windows下可以与实现linux中sed替换的功能 支持正则(re模块) 以下代码实现的功能与思路: 功能: (1)支持文件内容 ...

  3. QT 中一些数学计算函数

    QT的一些範例中有出現 qmax, qmin 等 math函式的身影,但我在官方文件中卻找不到與 math函式相關的說明,所以我就把函式的source裡面提供的方法整理條列,並且看看還有哪些 math ...

  4. IDEA字体设置

    最近编码总是把","和"."搞错,字体实在是太小了,看不清,而且g的显示各个字体显示也是不一样,看的十分难受,果断换字体.分享一下在IDEA2017.2.5中如 ...

  5. 防止xss,sql攻击函数

    <?php //php防注入和XSS攻击通用过滤. //by qq:831937 $_GET && SafeFilter($_GET); $_POST && Sa ...

  6. Codeforces Round #435 (Div. 2) c+d

    C:给n和k要求,找出n个不同的数,使得亦或起来等于k 可以先预处理从1到1e5,找亦或起来等于(11111111111111111)(二进制)的所有对数,然后四个一起亦或就是0了,再和k亦或 可以看 ...

  7. iOS开发中的系统版本比较

    由于系统平台和SDK更新迭代,一部分过时的成员.方法会被彻底从SDK中移除,为了兼容旧的设备,这时就需要区分系统平台版本调用正确的API. 另一种情况是iOS设备的屏幕和设备参数不同,虽然UI上的Au ...

  8. Oracle删除步骤

    1.Oracle卸载要求比较严格,不能简单的卸载就完事了:当然Oracle卸载也没有那么难,只是步骤比较多.Oracle10g还是Oracle11g卸载步骤都是一样的.下边详细介绍一下. 找到Orac ...

  9. 教你们在cmd里运行打开游戏,效率很快的。喜欢吧?

    第一步安装好的游戏 环境变量 变量值:把刚才复制好粘贴在里面,前面不用删除. 喜欢吧?这招非常好用.

  10. .NET和Docker ,比翼双飞

    DockerCon 2019本周将在旧金山举行 ,DockerCon 是从业者.贡献者.维护者.开发者和容器生态系统学习.网络和创新的一站式活动. .NET 团队博客发布了<一起使用.NET和D ...