发现luogu的UI改版后AC以后不能给题目评定难度了……

P1403 [AHOI2005]约数研究

类似素数筛的一道题,不过是约数。

先顺手写了个暴力做法,TLE定了~

#include<bits/stdc++.h>
using namespace std;
long long n,sum[];
int main()
{
scanf("%d",&n);
for(long long i=; i<=n; i++)
{
for(long long j=; j<=i; j++)
if(i%j==)sum[i]++;
sum[i]+=sum[i-];
}
printf("%lld",sum[n]);
return ;
}

暴力

O(n²),20分。

联想埃式素数筛法,我们把循环稍(da)作(liang)改动,

从1到n遍历,把每个数连同他的所有不超过n的倍数所对应的sum数组++:

#include<bits/stdc++.h>
using namespace std;
long long n,sum[];
int main()
{
scanf("%d",&n);
for(long long i=; i<=n; i++)
for(long long j=i; j<=n; j=j+i)
sum[j]++;
for(long long i=; i<=n; i++)
sum[i]+=sum[i-];
printf("%lld ",sum[n]);
return ;
}

AC

我们就得到了一个O(nloglogn)近似于线性的优化算法~(这nloglogn是我胡扯的,真正的时间复杂度及其推出过程请看luogu题解)

最后数组累加。

【AHOI2005】约数研究的更多相关文章

  1. 洛谷——P1403 [AHOI2005]约数研究

    P1403 [AHOI2005]约数研究 题目描述 科学家们在Samuel星球上的探险得到了丰富的能源储备,这使得空间站中大型计算机“Samuel II”的长时间运算成为了可能.由于在去年一年的辛苦工 ...

  2. BZOJ 1968_P1403 [AHOI2005]约数研究--p2260bzoj2956-模积和∑----信息学中的数论分块

    第一部分 P1403 [AHOI2005]约数研究 题目描述 科学家们在Samuel星球上的探险得到了丰富的能源储备,这使得空间站中大型计算机“Samuel II”的长时间运算成为了可能.由于在去年一 ...

  3. 洛谷P1403 [AHOI2005] 约数研究 [数论分块]

    题目传送门 约数研究 题目描述 科学家们在Samuel星球上的探险得到了丰富的能源储备,这使得空间站中大型计算机“Samuel II”的长时间运算成为了可能.由于在去年一年的辛苦工作取得了不错的成绩, ...

  4. [AHOI2005]约数研究

    题目描述 科学家们在Samuel星球上的探险得到了丰富的能源储备,这使得空间站中大型计算机“Samuel II”的长时间运算成为了可能.由于在去年一年的辛苦工作取得了不错的成绩,小联被允许用“Samu ...

  5. P1403 [AHOI2005]约数研究

    原题链接 https://www.luogu.org/problemnew/show/P1403 这个好难啊,求约数和一般的套路就是求1--n所有的约数再一一求和,求约数又要用for循环来判断.... ...

  6. P1403 [AHOI2005]约数研究 题解

    转载luogu某位神犇的题解QAQ 这题重点在于一个公式: f(i)=n/i 至于公式是怎么推出来的,看我解释: 1-n的因子个数,可以看成共含有2因子的数的个数+含有3因子的数的个数……+含有n因子 ...

  7. BZOJ1968 [Ahoi2005] 约数研究

    Description Input 只有一行一个整数 N(0 < N < 1000000). Output 只有一行输出,为整数M,即f(1)到f(N)的累加和. Sample Input ...

  8. 1968. [AHOI2005]约数研究【数论】

    Description Input 只有一行一个整数 N(0 < N < 1000000). Output 只有一行输出,为整数M,即f(1)到f(N)的累加和. Sample Input ...

  9. [luoguP1403] [AHOI2005]约数研究(这。。。)

    传送门 用类似筛法的原理,就好啦 ——代码 #include <cstdio> int n, ans; int a[1000001]; int main() { int i, j; sca ...

  10. 洛谷 P1403 [AHOI2005]约数研究

    怎么会有这么水的省选题 一定是个签到题. 好歹它也是个省选题,独立做出要纪念一下 很容易发现在1~n中,i的因子数是n / i 那就枚举每一个i然后加起来就OK了 #include<cstdio ...

随机推荐

  1. mongoose中Documents的save方法

    调用save方法保存数据有的时候是插入有时候是更新, 数据库 我知道save在保存的时候会检测数据的更改,只是更新更改的部分.所以我重复save时,只是createAt更改那么我最后只应该保存了一条数 ...

  2. Selenium实战(五)——HTML测试报告

    一.概览下载与安装 HTMLTestRunner是unittest的一个扩展,可以生成易于使用的HTML测试报告.HTMLTestRunner是在BSD许可证下发布的. 下载地址:http://tun ...

  3. MySQL 8 重置 root 密码

    如果 root 密码丢失,如何重置 root 密码? 重置 root 密码:Unix 和 类 Unix 系统: 1.登录 Unix 系统用户(运行MySQL服务器的用户) 2.停止MySQL服务器   ...

  4. C#设计模式学习笔记:设计原则

    本笔记摘抄自:https://www.cnblogs.com/PatrickLiu/p/8287784.html,记录一下学习过程以备后续查用. 写代码也是有原则的,我们之所以使用设计模式,主要是为了 ...

  5. Tensor的合并与分割

    先来看一下有哪些接口用来进行张量的合并与分割: tf.concat用来进行张量的拼接,tf.stack用来进行张量的堆叠,tf.split用来进行张量的分割,tf.unstack是tf.split的一 ...

  6. Android数据存储之Application

    Application是Android的一大组件,在APP运行过程中有且仅有一个Application对象,它类似于javaweb中的session,贯穿整个生命周期. Application中适合保 ...

  7. 怎么利用 ChromeDriver 和 Selenium对 CEF应用进行自动化测试-java实现

    Overview ChromeDriver and Selenium are tools for automated testing of Chromium-based applications. T ...

  8. [PAT] A1022 Digital Library

    [题目大意] 给出几本书的信息,包括编号,名字,出版社,作者,出版年份,关键字:然后给出几个请求,分别按照1->名字,2->出版社等对应信息查询符合要求的书的编号. [思路] 模拟. [坑 ...

  9. PAT (Advanced Level) Practice 1035 Password (20 分)

    To prepare for PAT, the judge sometimes has to generate random passwords for the users. The problem ...

  10. Maven的作用

    Maven的作用 1.在开发中,为了保证编译通过,我们会到处去寻找jar包,当编译通过了,运行的时候,却发现"ClassNotFoundException",我们想到的是,难道还差 ...