[2018.07.10 T3]数论题

where t.trans_date=date‘2018-06-07‘; 等价于 (“T“.“TRANS_DATE“=TO_DATE(‘ 2018-06-07 00:00:00‘, ‘syyyy-m explain plan for select * from esb2_trans_log twhere t.trans_date >= to_date('2018-06-07 00:00:00', 'yyyy-mm-dd hh24:mi:ss') and t.trans_date <= to_date('2018-06-07 23:59:59',... 阅读详情

暂无链接

数论题

【问题描述】

企鹅国数学家 QQ 潜心研究数论,终于发现了一个简单的数论问题!

一个 QQ 数定义为一个拥有一个大于 1 的完全平方数为因子的数字,一个数字的QQ 值定 义为这个数是 QQ 数的因数个数。

现在 QQ 想知道在[L,R]范围内,每个整数的 QQ 值之和是多少?

你只需要告诉他这个数字,他就可以给你宝贵的 10 分作为一个奖励!

【输入格式】

第一行两个整数 L, R 代表要求的数字范围;

【输出格式】

输出一个整数表示 L~R 里每个数字的 QQ 值之和。

【输入样例】

1 10

【输出样例】

4

【样例说明】

4 的QQ 值为 1,8 的QQ 值为 2,9 的QQ 值为 1。

【数据范围】

对于 10%的数据,R≤10^4;
对于另外 30%的数据,R≤10^6;
对于另外 10%的数据,R≤10^7;
对于 100%的数据,1≤L≤R≤10^9;

题解

从一眼看出要搞μμ之后,似乎没有什么实质进展,然而我有梦想啊!!!

After 3 hours...After 3 hours...

呵呵,4040分滚粗。

虽然看出了μ(i)=0μ(i)=0的就是QQQQ数,然而感觉没有什么好的表示法,线筛QQQQ值的梦想也破灭了,唉我的数论还是太菜了。。。

为啥我想不到1−μ2(i)1−μ2(i)来表示QQQQ数啊???sh∗tsh∗t!

这样以后,就能列出初始的式子:

∑i=1n∑p|i[1−μ2(p)]∑i=1n∑p|i[1−μ2(p)]

对于枚举约数的操作,我们可以替换成枚举倍数,这两个枚举是等价的,并且当因子为QQQQ数时,倍数也一定为QQQQ数,所以可以化简如下:

∑i=1n⌊ni⌋[1−μ2(i)]∑i=1n⌊ni⌋[1−μ2(i)]

注意到⌊ni⌋⌊ni⌋是可以用下底分块解决的,那么我们只要处理出∑ni=1[1−μ2(i)]∑i=1n[1−μ2(i)],即[1,n][1,n]中QQQQ数的个数,这个当然可以线筛,不过只能过1e71e7的,实际上QQQQ数的个数还可以表示如下:

∑i=1n[1−μ2(i)]=⌊n22⌋+⌊n32⌋+⌊n52⌋−⌊n62⌋+...∑i=1n[1−μ2(i)]=⌊n22⌋+⌊n32⌋+⌊n52⌋−⌊n62⌋+...

含义很简单,就是枚举所有非QQQQ数的平方的倍数,非QQQQ的平方必定是QQQQ数,平方的倍数肯定也是QQQQ数,但是一个数会被它的因数给算重,所以需要套个μμ去重,最后的形式如下:

∑i=2n√μ(i)⌊ni2⌋∑i=2nμ(i)⌊ni2⌋

注意,因为我们枚举的是非QQQQ数作为平方根(QQQQ数本身的μμ值为00,直接被消掉了),所以枚举上界为n。

这样复杂度就对了,愉快的ACAC。

代码
#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int M=1e6+5;
int miu[M],p[M],mx,le,ri;
bool isp[M];
void get()
{
    int i,j,t;
    miu[1]=1;
    for(i=2;i<=mx;++i)
    {
        if(!isp[i])p[++p[0]]=i,miu[i]=-1;
        for(j=1;j<=p[0];++j)
        {
            t=i*p[j];if(t>mx)break;
            isp[t]=1;
            if(i%p[j]==0){miu[t]=0;break;}
            miu[t]=-miu[i];
        }
    }
}
ll miu2(int x)
{
    int b=sqrt(x);ll ans=0;
    for(int i=2;i<=b;++i)ans-=miu[i]*(x/i/i);
    return ans;
}
ll calc(int x)
{
    ll ans=0,tmp,pre=0;
    for(int l=1,r;l<=x;l=r+1){r=x/(x/l);tmp=miu2(r);ans+=1ll*(tmp-pre)*(x/l);pre=tmp;}
    return ans;
}
void in(){scanf("%d%d",&le,&ri);}
void ac(){mx=sqrt(ri);get();printf("%lld",calc(ri)-calc(le-1));}
int main(){in();ac();}
NOIP2018 初赛普及组 C++语言试题 普及组 C++语言试题竞赛时间:2018 年10 月13 日14:30~16:30。 阅读详情

相关推荐

数论题解:「BZOJ1053」反素数/「Violet5」樱花

「BZOJ1053」反素数/「Violet5」樱花 详细题解

BZOJ 糖果传递-(数论)

1045: [HAOI2008] 糖果传递 Time Limit: 10 Sec  Memory Limit: 162 MB Submit: 4093  Solved: 1969 [Submit][Status][Discuss] Description   有n个小朋友坐成一圈,每人有ai个糖果。每人只能给左右两人传递糖果。每人每次传递一个糖果代价为1。 Input  

信仰.的博客 795

【汽车故障诊断2】从标准到实战:解码DTC格式背后的诊断逻辑

本文深入解析汽车诊断故障码(DTC)的格式与逻辑,对比了OBD-II标准(如ISO 15031-6)的5字符格式与UDS协议(ISO 14229-1)下更丰富的3字节格式。文章从国际标准出发,结合实战案例,阐述了DTC如何作为汽车电子系统的“体检报告”,帮助工程师和维修技师精准定位故障,并详细解读了UDS 19服务如何读取和管理DTC状态。

berry的博客 713

bzoj 3453 数论

  首先我们知道对于f(x)来说,它是一个k次的多项式,那么f(x)的通项公式可以表示成一个k+1次的式子,且因为f(x)没有常数项,所以我们设这个式子为     f(x)=Σ(a[i]*x^i) (1<=i<=k+1) 那么比较显然的是f(x+1)-f(x)=(x+1)^k,因为(x+1)^k=Σc(k,i)*x^i (0<=i<=k),所以我们可以将这个式子的左右展...

weixin_34061042的博客 205

TL431过压保护电路实战:5.5V阈值设计全流程(附MOSFET选型建议)

本文详细介绍了基于TL431和MOSFET构建5.5V阈值过压保护电路的完整设计流程。内容涵盖核心原理、阈值计算、驱动电路设计,并重点针对大电流应用场景,提供了MOSFET选型与散热处理的实战建议,帮助工程师打造可靠高效的电源保护方案。

weixin_28327051的博客 542

Fluent DPM模型保姆级教程:三通管颗粒流动模拟,从网格导入到轨迹图生成

本文提供Fluent DPM模型在三通管颗粒流动模拟中的保姆级教程,涵盖从网格导入到轨迹图生成的全流程。通过详细步骤和参数设置,帮助用户掌握DPM模型在颗粒流动模拟中的关键技巧,适用于化工、能源等领域的工程应用。

weixin_30615767的博客 579

数论的学习及刷题

数论是研究整数的性质、结构和关系整数基本性质的一类方法。

m0_74196680的博客 1498

MIPI D-PHY TX 一致性测试实例解析 Part 03

本文之前,已经讨论了MIPI D-PHY TX的1.3.x和1.4.x的测试项,1.5.x的测试项相对较少,主要是用于时钟和数据通道相关的时序测量

一只豌豆象的博客 5190

数论基础及例题

文章目录常识一、整除二、素数三、最大公约数(gcd)四、最小公倍数(lcm)五、同余六、快速幂七、扩展欧几里得八、逆元九、模运算例题一、J - Sum二、C - A/B 常识 一、整除 定义 若整数a除以非零整数b,商为整数,且余数为零, 我们就说a能被b整除(或说b能整除a)b|a,否则b∤a。 基本性质 1.若b|a,c|a,且b和c互质,则bc|a 2.若a|b,且b|c,则a|c 3.若b|a,且b|c,则b|(a±c) 4.若c|a,且c|b,则对于任意整数m、n,有c|(ma+nb) .

weixin_50522312的博客 1575

Altium Designer(AD24/25)导入DXF或DWG结构文件的方法

DXF(Drawing Exchange Format)和DWG(Drawing)是两种常见的CAD(计算机辅助设计)文件格式,常用于结构和硬件之间的沟通。本文介绍Altium Designer(AD24/25)导入DXF或DWG结构文件的方法。

fydar的博客 1452

【AI工具】Browser use搭建及使用的保姆级教程:让AI帮你自动操作浏览器

【AI工具】Browser use搭建及使用的保姆级教程:让AI帮你自动操作浏览器

funfan的博客 2536

NOI2018 游记

NOI2018 游记 Day -1 听说要出发了,所以用十几分钟扔了一些东西到行李箱里,然后就到机场 在机场打了半小时的summer pockets,没想到这个东西竟然耗了40%的电。。。 晚上在网吧越坐越觉得困倦,于是回到寝室洗洗就睡了 Day 0 以为笔试什么时候都可以去,于是就在床上咕到9点钟。结果9点07分下去时发现蔺老一副惊慌的样子,这才发现笔试好像早就开始了 于是...

yfzcsc的博客 4871

掌握RDMA核心:从同步构建到异步事件的连接艺术

本文深入解析RDMA编程中的双模式设计,揭示同步配置与异步事件机制的协作关系。第一部分阐述同步函数rdma_bind_addr和rdma_listen的本地化角色,强调它们仅完成本地端点配置。第二部分剖析异步事件模型,重点分析连接请求和建立事件的处理流程。通过完整生命周期序列图展示两种模式的交互过程,并提供错误处理、资源管理和性能调优的实用建议。文章指出,理解同步本地配置与异步网络响应这一责任划分,是掌握RDMA编程的关键所在。

数字人生 283

将UTC时间(2018-07-03T10:18:58.000Z)转换为北京时间

2018-07-03T10:18:58.000Z是什么时间格式 UTC:时间标准时间,世界标准时间 ✅ GMT:格林尼治时间 GST:北京时间 js如何处理UTC时间格式 遇到问题:用了阿里云的接口,发现传的日期是UTC格式的。需要转换。 import moment from 'moment'; export default function formatUTC(utc_datetime) { ...

m_review的博客 3万+

[deprecated]第九章:SVM机制: 9-2 Linux HMM原理与实现详解

Linux内核HMM(异构内存管理)子系统为异构计算平台提供统一内存管理机制,支持CPU与GPU等设备共享虚拟地址空间,实现零拷贝数据访问。其核心功能包括:1)统一虚拟地址空间,设备可直接访问CPU进程内存;2)实时页表同步与失效通知,确保地址空间一致性;3)支持设备端page fault处理;4)管理多种内存类型(系统内存、设备私有内存等)。HMM通过mmu_interval_notifier机制感知地址空间变化,提供标准API简化驱动开发,显著提升异构计算性能和数据传输效率。

图形/计算GPU的驱动与虚拟化技术分享园地 2548

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

beaglebone Black LCD8000-70T 7寸LCD支持 debian 9.5系统配置.bone-debian-9.5-lxqt-armhf-2018-10-07-4gb.img

目前官方发布的debian img文件并不能直接支持 LCD 7寸屏 的显示以及触摸功能。需要修改内核以支持LCD的显示. lcd 模块通过转接板BBVIEW来连接. 1,获取 bbview_bone-debian-9.5-lxqt-armhf-2018-10-07-4gb.tar.bz2 文件. 此文件是内核更新文件 包含 boot 、lib   解压至bbb的根目录 roo...

armkits的博客 1058

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

[2018.07.31 T3] 第三题

暂无链接 第三题 【问题描述】 有一个字符串S,你需要构造一个字符串T,使得T重复两次再在某个位置插入一个 字符后能得到S。 【输入格式】 一行一个字符串S。 【输出格式】 输出T,若无解,输出NOT POSSIBLE.若多解,输出NOT UNIQUE. 【输入样例1】 PUPILPQUPIL 【输出样例1】 PUPIL 【输入样例2】 ...

ShadyPi的IT笔记 338

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

2018.10.07模拟总结

国庆5天乐在今天终于结束了,怀着明天又得上学的心情,我开始写这篇题解。 T1 wzoi   期望得分:100   实际得分:100   首先题面非常的迷,我看了十分钟都没懂,看完T2,T3后再回来看T1,总共看题看了20分钟才懂……   我发现最优的答案一定是回文串,那么ans = 10 * (len / 2),于是为了维护这个,我就开了个栈,如果栈是空的或者栈顶元素和当...

weixin_30412013的博客 121

全国大学生数学建模竞赛2018A题高温作业专用服装设计MATLAB程序

一、第1问 本问主要用到了:偏微分方程转差分方程,再通过矩阵转化利用追赶法求解偏微分方程。 1.1第一问追赶法求解差分方程与绘图MATLAB程序 %第一问追赶法求解差分方程与绘图MATLAB程序 clear; close all; r=xlsread('2018A.xlsx','附件1','M3:M6'); k=xlsread('2018A.xlsx','附件1','D3:D6'); m=xlsread('2018A.xlsx','附件1','K3:K6'); n=xlsread('2018A.

qq_46646038的博客 1万+

关于函数模板和函数指针的一道题

虽然我现在还没AC此题…… 2018程设期中考试的A07 输入 第一行是整数n,表示有n组数据 每组数据有2行 第一行是10个整数 第二行是4个不带空格的字符串,它们之间用空格分隔 输出 先输出10个整数里面的第3个到第7个的平方和 再输出10个整数里从第3个到第7个,按照字符串的方式,顺序连接的结果 再输出4个字符串里,第1个到第4个串中,所有字符的ASCII码加和得到的整数 再输出4个字符串...

weixin_44288817的博客 284

[2018.07.31 T1] 第一题

暂无连接 第一题 【问题描述】 斐波那契数列满足 f[0]=0,f[1]=1,f[i]=f[i−1]+f[i−2](i&amp;gt;=2)f[0]=0,f[1]=1,f[i]=f[i−1]+f[i−2](i&amp;gt;=2)f[0]=0,f[1]=1,f[i]=f[i-1]+f[i-2](i&gt;=2)。已知 f[i]f[i]f[i]对 1013101310^{13}取模的结果 kkk,求最小的可能的...

ShadyPi的IT笔记 246

[2018.07.14 T1] B君的第四题

暂无链接 B君的第四题 【问题描述】 已有的事后必再有,已行的事后必再行。 大家还记得Luogo P3959 [NOIP2017]宝藏 吗? B君看到很多人用很多弱智的方法水过这个题,感到非常气愤。 这个题目就是把原题改成了一个计数题。 考虑到有些同学没有看过这个题目,我们简述这个题目如下。 输入一个图,我们定义一个有根生成树的权值是 ∑e={x,y}we×m...

ShadyPi的IT笔记 518

20231125硬盘电源线5线不能识别日立10T的硬盘的解决方法

5线是SATA硬盘电源接口,它有五根线,分别是橙色+3.3v 黑色地线 红色+5v 黑色地线 黄色+12v。4线的应该是没有3.3V供电的,3.3V不接是一样的正常使用,但有用不带3.3V的电源线接的SATA。较老一些的电源没有SATA硬盘的电源接口,会用一个转接线插到D型接口上转成SATA硬盘的电源接口。4线是普通的IDE硬盘电源接口,里面四根针,分别是+5V 地 地 +12V。SATA硬盘电源线为何有的4线有的5线 哪个对硬盘好 多的一根线有好处吗。故没有3.3V电源线,但仍可以正常使用的。

南岭笑笑生之家 3893

[2018.07.10 T2]不回文

暂无链接 不回文 【问题描述】 学不会最小回文串划分的豆豆决定弃疗选择挑战非回文划分。 他想知道一个字符串 S 的最少和最多能划分成几个非回文串? 注: 如果一个字符串不是回文串,那么他是非回文串。例如()()是非回文串,而 ())(是回文串。 【输入格式】 第一行一个整数 T,表示测试数据组数。 接下来 T 行,每行一个仅由小写字母构成的字符串 S。 【输出格式】...

ShadyPi的IT笔记 422

[2018.07.31 T2] 第二题

暂无链接 第二题 【问题描述】 给定 k,你需要找到一个最小的 n,使得有至少一个 1~n 的排列不是任何一个字符集 不超过 k 的字符串的后缀排名数组,并构造出这样的排列中字典序最小的一个。 后缀排名数组指:对于一个字符串,将其所有后缀按字典序排序,第 i 的后缀排名为 a[i]。如 abbab 的后缀排名数组为 2 5 4 1 3。 【输入格式】 一行一个正整数 k。 ...

ShadyPi的IT笔记 270

[2018.07.12 T2] B君的第二题

暂无链接 B君的第二题 【问题描述】 申生在内而亡,重耳在外而安 考虑k+1k+1k + 1个数组a[i](0≤i≤k)a[i](0≤i≤k)a[i] (0 ≤ i ≤ k)。 为了方便起见,每个数组a[i]a[i]a[i]长度为nnn,下标从111开始。(直观来说就是第一维下标从000开始,第二维下标从1开始。) 其中a[i]a[i]a[i]时时刻刻是a[i−1](1≤i≤...

ShadyPi的IT笔记 542
上一篇: [2018.07.10 T2]不回文
下一篇: AGC022E Median Replace
ShadyPi
博客等级 码龄9年 1万+粉丝 637原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ShadyPi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值