BZOJ1968: [Ahoi2005]COMMON 约数研究 线性筛
按照积性函数的定义筛一下这个积性函数即可.
#include <cstdio>
#include <algorithm>
#define N 1000004
#define setIO(s) freopen(s".in","r",stdin)
using namespace std;
int tot;
int f[N],prime[N],vis[N],sum[N];
int main()
{
//setIO("input");
int n,i,j;
scanf("%d",&n);
sum[1]=f[1]=1;
for(i=2;i<=n;++i)
{
if(!vis[i]) prime[++tot]=i,f[i]=2;
for(j=1;j<=tot&&1ll*i*prime[j]<=1ll*n;++j)
{
vis[i*prime[j]]=1;
if(i%prime[j]==0)
{
int h=i;
for(;h%prime[j]==0;h/=prime[j]);
f[i*prime[j]]=f[h]+f[i];
break;
}
else
{
f[i*prime[j]]=f[i]*f[prime[j]];
}
}
sum[i]=sum[i-1]+f[i];
}
printf("%d\n",sum[n]);
return 0;
}
BZOJ1968: [Ahoi2005]COMMON 约数研究 线性筛的更多相关文章
- bzoj千题计划170:bzoj1968: [Ahoi2005]COMMON 约数研究
http://www.lydsy.com/JudgeOnline/problem.php?id=1968 换个角度 一个数可以成为几个数的约数 #include<cstdio> #incl ...
- BZOJ1968 [Ahoi2005]COMMON 约数研究 数论
欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ1968 题意概括 求 ΣF(i) (1<=i<=n)N<=1000000 F( ...
- 【数论】bzoj1968 [Ahoi2005]COMMON 约数研究
对于i属于[1,n],i只能成为[1,n]中n/i个数的约数,易证. #include<stdio.h> int n,i; long long ans; int main() { scan ...
- [日常摸鱼]bzoj1968 [Ahoi2005]COMMON 约数研究
题意:记$f(n)$为$n$的约数个数,求$\sum_{i=1}^n f(i)$,$n \leq 10^6$. 我也不知道为什么我要来做这个- 直接枚举每个数会是哪些数的约数-复杂度$O(n log ...
- BZOJ1968 [Ahoi2005]COMMON 约数研究
Description Input 只有一行一个整数 N(0 < N < 1000000). Output 只有一行输出,为整数M,即f(1)到f(N)的累加和. Sample Input ...
- bzoj1968: [Ahoi2005]COMMON 约数研究(数论)
计算每一个数的贡献就好了..O(N) n/i只有2*sqrtn个取值于是可以优化到O(sqrtn) #include<bits/stdc++.h> #define ll long long ...
- [BZOJ1968][AHOI2005]COMMON约数研究 数学
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1968 直接计算每个因子的贡献就可以了. $Ans=\sum_{i=1}^n[\frac{n ...
- [Ahoi2005]COMMON 约数研究 【欧拉线性筛的应用】
1968: [Ahoi2005]COMMON 约数研究 Time Limit: 1 Sec Memory Limit: 64 MB Submit: 2939 Solved: 2169 [Submi ...
- BZOJ 1968: [Ahoi2005]COMMON 约数研究
1968: [Ahoi2005]COMMON 约数研究 Time Limit: 1 Sec Memory Limit: 64 MBSubmit: 2032 Solved: 1537[Submit] ...
随机推荐
- GIL全局解释器
' GIL是一个互斥锁:保证数据的安全(以牺牲效率来换取数据的安全) 阻止同一个进程内多个线程同时执行(不能并行但是能够实现并发) 并发:看起来像同时进行的 GIL全局解释器存在的原因是因为CPyth ...
- 使用EF Core 连接远程oracle 不需要安装oracle客户端方法
连接字符串: Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=IP地址(PORT=1521))(CONNECT_DATA=(SERVICE_ ...
- centos7安装配置LVS+keepalived高可用
Centos7-Lvs+Keepalived架构 LVS+Keepalived 介绍 1 . LVS LVS 是一个开源的软件,可以实现 LINUX 平台下的简单负载均衡. LVS 是 Linux ...
- Java高并发程序设计学习笔记(十一):Jetty分析
转自:https://blog.csdn.net/dataiyangu/article/details/87894253 new Server()初始化线程池QueuedThreadPoolexecu ...
- MongoDB学习笔记,基础+增删改查+索引+聚合...
一 基础了解 对应关系 -> https://docs.mongodb.com/manual/reference/sql-comparison/ database -> database ...
- linux wireless 基础知识 MAC80211 CFG80211
转:http://blog.csdn.net/liuxd3000/article/details/23761663 1. 基本概念 • cfg80211: 用于对无线设备进行配置管理.与Full ...
- Host服务
这也是看网上的例子自己跟着配置做的一个小demo,这里记录一下. 一.创建一个空的控制台应用程序 二.安装所需dll 1.Quartz Install-Package Quartz -Version ...
- Webpack编译提示内存溢出解决方案
在项目开发中,随着业务需求的复杂项目随之增大,再加上同一个文件被引用次数过于频繁在开发编译或者上线打包时经常会出现如下错误: 这个报错的意思就是Node内存不足所导致的,我们都知道 Node 是基于V ...
- QT一个最简单的openGL例子
创建一个基类为widget的工程 把文件夹glut64放到代码目录下,文件夹包含以下文件 freeglut.dll freeglut.lib glut.h freeglut.h freeglut_ex ...
- go变量和数据类型
go语言的基本数据类型 布尔类型:bool 整型:int8.byte.int16.int.uint.uintptr等 浮点类型:float32.float64 复数类型:comple ...