1742 开心的小Q
如果一个数字存在一个约数是完全平方数,那么小Q就认为这个数是有趣的。
输入数据包括2个数:a, b,中间用空格分隔。(1≤a≤b≤10^9)
输出a~b里每个数字的有趣约数个数之和。
1 10
4
思路:分块+莫比乌斯;
根据莫比乌斯abs(mul[i]) = 0表示i这个数有平方项因子,abs(mul[i]) = 1表示这个数没有平方项因子。
,那么答案就是S(m)-S(n-1);
1 #include<bits/stdc++.h>
2 typedef long long LL;
3 using namespace std;
4 bool prime[100005];
5 LL ak[100005];
6 LL mul[100005];
7 const int BufferSize=1<<16;
8 char buffer[BufferSize],*head,*tail;
9 inline char Getchar() {
10 if(head==tail) {
11 int l=fread(buffer,1,BufferSize,stdin);
12 tail=(head=buffer)+l;
13 }
14 return *head++;
15 }
16 inline int read() {
17 int x=0,f=1;char c=Getchar();
18 for(;!isdigit(c);c=Getchar()) if(c=='-') f=-1;
19 for(;isdigit(c);c=Getchar()) x=x*10+c-'0';
20 return x*f;
21 }
22 LL slove(LL n);
23 int akk[100005];
24 int main(void)
25 {
26 int cn = 0;
27 mul[1] = 1;int ap = 0;
28 for(int i = 2; i <= 100000; i++)
29 {
30 if(!prime[i])
31 {
32 ak[cn++] = i;
33 mul[i] = -1;
34 }
35 for(int j = 0; j < cn&&(LL)ak[j]*i<=100000; j++)
36 {
37 if(i%ak[j])
38 {
39 prime[i*ak[j]] = true;
40 mul[i*ak[j]] = -mul[i];
41 }
42 else
43 {
44 prime[i*ak[j]] = true;
45 mul[i*ak[j]] = 0;
46 break;
47 }
48 }
49 if(mul[i])akk[ap++] = i;
50 }
51 LL n,m;
52 n = read(),m=read();
53 LL c = sqrt(n); LL sum = 0;
54 sum = slove(m)-slove(n-1);
55 printf("%lld\n",sum);
56 return 0;
57 }
58 LL slove(LL n)
59 { if(n == 0)return 0;
60 LL c = sqrt(n);LL sum = 0;
61 for(int i = 2;i <= c;i++)
62 {
63 if(!mul[i])
64 {
65 sum += n/i;
66 }
67 }
68 for(int i = 1;i <= n/c-1;i++)
69 {
70 LL a,b;
71 a = n/(i+1);
72 b = n/i;
73 a++;LL v = 0;
74 for(int j = 0;akk[j] <= sqrt(b);j++)
75 {
76 sum -= (mul[akk[j]]*((b)/(akk[j]*akk[j])-(a-1)/(akk[j]*akk[j])))*i;
77 }
78 }
79 return sum;
80 }
1742 开心的小Q的更多相关文章
- 【51nod】1742 开心的小Q
题解 我们由于莫比乌斯函数如果有平方数因子就是0,那么我们可以列出这样的式子 \(\sum_{i = 1}^{n} \sum_{d|i} (1 - |\mu(d)|)\) 然后枚举倍数 \(\sum_ ...
- 51Nod 欢乐手速场1 C 开心的小Q[莫比乌斯函数]
开心的小Q tangjz (命题人) quailty (测试) 基准时间限制:1 秒 空间限制:131072 KB 分值: 80 如果一个数字存在一个约数是完全平方数,那么小Q就认为这个数是有趣的 ...
- 平面直接坐标系线段相交问题(小Q(钟神)的问题)
[问题描述] 小 Q 对计算几何有着浓厚的兴趣.他经常对着平面直角坐标系发呆,思考一些有趣的问题.今天,他想到了一个十分有意思的题目:首先,小 Q 会在?轴正半轴和?轴正半轴分别挑选?个点.随后,他将 ...
- hdu---(4515)小Q系列故事——世界上最遥远的距离(模拟题)
小Q系列故事——世界上最遥远的距离 Time Limit: 500/200 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)T ...
- HD4505小Q系列故事——电梯里的爱情
Problem Description 细心的同事发现,小Q最近喜欢乘电梯上上下下,究其原因,也许只有小Q自己知道:在电梯里经常可以遇到他心中的女神HR. 电梯其实是个很暧昧的地方,只有在电梯里,小Q ...
- hdu4505小Q系列故事——电梯里的爱情
小Q系列故事——电梯里的爱情 Time Limit: 300/100 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)Tota ...
- nyoj 49 开心的小明
开心的小明 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 小明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间.更让他高兴的是,妈妈昨天 ...
- HDU-4515 小Q系列故事——世界上最遥远的距离
小Q系列故事——世界上最遥远的距离 Time Limit: 500/200 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) ...
- 2013腾讯编程马拉松初赛第二场(3月22日) 小Q系列故事——为什么时光不能倒流 ---好水!!
我以为我会是最坚强的那一个 我还是高估了自己 我以为你会是最无情的那一个 还是我贬低了自己 就算不能够在一起 我还是为你担心 就算你可能听不清 也代表我的心意 那北极星的眼泪 闪过你曾经的眼角迷离 那 ...
随机推荐
- vim 的使用
基本操作: 命令行模式 进入命令行 打开文本的时候,直接进去命令行模式 在其它模式按ESC,可以进入命令行模式 新建进入了命令行模式 光标进入末行"G"(shift+按键g,自学 ...
- 03 Windows安装Java环境
Java环境安装 使用微信扫码关注微信公众号,并回复:"Java环境",免费获取下载链接! 1.卸载(电脑未装此程序,跳过此过程) 找到电脑上面的控制面板 找到这两个文 ...
- javaSE高级篇7 — 设计原则和设计模式 — 设计模式慢慢更( 这是思想层次篇 )
1.什么是设计原则? 设计原则就是面向对象的原则嘛,即:OOP原则 换句话说:就是为了处理类与类之间的关系( 包括接口.类中的方法 ) 2.OOP设计原则有哪些? 1).开闭原则:就是指对拓展开放.对 ...
- 1005.K次取反后最大化的数组和
1005.K次取反后最大化的数组和 目录 1005.K次取反后最大化的数组和 题目 题解 排序+维护最小值min 题目 给定一个整数数组 A,我们只能用以下方法修改该数组:我们选择某个索引 i 并将 ...
- 论 Erda 的安全之道
作者|陈建锋 来源|尔达 Erda 公众号 软件研发是一个复杂的工程,不仅需要进行软件的设计.开发.测试.运维,还涉及到大量的人力.物力管理.今天讨论的主角 - "安全",在软 ...
- cordova配置与开发
1.环境配置 1.1.安装ant 从 apache官网 下载ant,安装并配置,将ant.bat所在目录加到path环境变量,如c:\apache-ant\bin\.在cmd中运行以下语句如不报错即可 ...
- 用运oracel中的伪列rownum分页
在实际应用中我们经常碰到这样的问题,比如一张表比较大,我们只要其中的查看其中的前几条数据,或者对分页处理数据.在这些情况下我们都需要用到rownum.因此我们要理解rownum的原理和使用方法. Or ...
- 【Linux】【Services】【Package】Basic
Linux程序包管理 概述 API:Application Program Interface ABI:Application Binary Int ...
- 11.Vue.js-事件处理器
事件监听可以使用 v-on 指令: <div id="app"> <button v-on:click="counter += 1">增 ...
- 【HarmonyOS】【DevEco Studio】NOTE05:PageAbility生命周期的呈现
NOTE05:PageAbility生命周期的呈现 基本界面设置 创建Slice与对应xml BarAbilitySlice package com.example.myapplication.sli ...