【BZOJ 2671】Calc

【国家集训队2012】【BZOJ2671】Calc和与积 Description  给出N,统计满足下面条件的数对(a,b)的个数:   1.1<=a<\ltb<=N   2.a+b整除a*b   Input 一行一个数N  Output 一行一个数表示答案Sample Input15Sample Output4HINT数据规模和约定Test N Test N 1 <=10 11 <=5*10^7 2 <=50 12 <=10^8 3 <=10^ 阅读详情

题目要求求出∑Na=1∑Nb=a+1[a+b|ab]
我们设d=gcd(a,b),a=nd,b=md则转化为
[nd+md|nmd2]=[n+m|nmd]又有n,m互质,则显然有n+m|d
原式可推为
∑Nd=1∑⌊Nd⌋n=1∑⌊Nd⌋m=n+1e(gcd(n,m))[n+m|d]
[n+m|d]的个数显然为⌊Nm(n+m)⌋
e(gcd(n,m))显然可以莫比乌斯反演
所以进一步推为
=∑N√m=1∑m−1n=1⌊Nm(n+m)⌋∑d|n,d|mμ(d)
用md,nd来替代m,n则有
∑N√d=1μ(d)∑⌊N√d⌋m=1∑m−1n=1⌊⌊Nd2m⌋n+m⌋
于是可以分块求得,code:

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
using namespace std;
long long n,sqn,tot;
long long mu[100001],prime[10001];
bool a[100001];
void prework(long long n)
{
    long long i,j;
    mu[1]=1;
    for (i=2;i<=n;++i)
      {
        if (!a[i])
          {mu[i]=-1; prime[++tot]=i;}
        for (j=1;j<=tot&&i*prime[j]<=n;++j)
          {
            a[i*prime[j]]=true;
            if (i%prime[j]==0)
              {
                mu[i*prime[j]]=0;
                break;
              }
            mu[i*prime[j]]=-mu[i];
          }
      }
}
long long work(long long fz,long long n)
{
    long long ans=0,i,last;
    if (n==0) return 0;
    for (i=n+2;i<=2*n+1;i=last+1)
      {
        if (fz/i==0) break;
        last=min(2*n+1,fz/(fz/i));
        ans=ans+(last-i+1)*(fz/i);
      }
    return ans;
}
int main()
{
    long long d,m,ans=0,t;
    scanf("%lld",&n);
    sqn=sqrt(n);
    prework(sqn);
    for (d=1;d<=sqn;++d)
      {
        if (mu[d]==0) continue;
        t=0;
        for (m=2;m<=sqn/d;++m)
          t+=work(n/(d*d*m),m-1);
        ans=ans+mu[d]*t;
      }
    printf("%lld\n",ans);
}
微信本地数据解密实战:从AES加密原理到EnMicroMsg.db恢复指南 数据加密是保障信息安全的核心技术,其中对称加密算法AES因其高效可靠,被广泛应用于各类本地数据保护场景。其原理是通过特定密钥对数据进行混淆转换,确保未经授权者无法读取原始内容。在移动应用领域,本地数据库加密对于保护用户隐私、防止数据泄露具有重要价值。微信作为国民级应用,对其本地存储的聊天记录数据库(EnMicroMsg.db)采用了基于设备标识和用户UIN生成的AES-256-CBC加密方案。理解这一机制,不仅有助于在合法合规前提下进行个人数据备份与恢复,也为开发者进行客户端安全分析、兼容工具开发提供了基础 阅读详情

相关推荐

Ta-Lib源码解析(三):蜡烛图指标 (Candlestick Indicator) #(附Python重构代码和示意图)(补充中)

蜡烛图指标为识别K线形态的指标,笔者认为重点在于定义方式所提供的思路,背后的投资逻辑可以借鉴但不建议直接参考文档的翻译内容和源码逻辑存在不一致的现象,笔者分别列出中文百科中的定义和源码实际逻辑,供大家参考技术分析理论中的一些模糊词,ta-lib中给出了精确的定义源码

量化就是探索生活 3254

BZOJ2671: Calc 莫比乌斯反演

Description 给出NNN,统计满足下面条件的数对(a,b)(a,b)(a,b)的个数: 1.1&amp;lt;=a&amp;lt;b&amp;lt;=N1.1&amp;lt;=a&amp;lt;b&amp;lt;=N1.1&lt;=a&lt;b&lt;=N 2.a+b整除a∗b2.a+b整除a*b2.a+b整除a∗b Sample Input 15 Sample Output 4 ...

xgc_woker的博客 315

高性能网站设计之缓存更新的套路

看到好些人在写更新缓存数据代码时,先删除缓存,然后再更新数据库,而后续的操作会把数据再装载的缓存中。然而,这个是逻辑是错误的。试想,两个并发操作,一个是更新操作,另一个是查询操作,更新操作删除缓存后,查询操作没有命中缓存,先把老数据读出来后放到缓存中,然后更新操作更新了数据库。于是,在缓存中的数据还是老的数据,导致缓存中的数据是脏的,而且还一直这样脏下去了。 我不知道为什么这么多人用的都是这

代码技巧 1万+

[国家集训队]和与积

题目 van了,不会反演了,之后复习了一下午反演终于会做了 这个东西一看就很神的样子 \[\sum_{i=1}^n\sum_{j=i+1}^n[{(i+j)}|i\times j]\] 先分析一下,这个\({(i+j)}|i\times j\)有什么含义吧 首先这是一道数学题,那么就极有可能需要往\(gcd\)上靠,于是我们设\(d=(i,j),i=k_1d,j=k_2d\) 显然存在\...

weixin_30413739的博客 147

拥有AI助手便能解放双手?——抖音直播脚本的生成

科技改变生活,AI助手帮你完成抖音创作!

Scientist_的博客 2351

lammps教程:ovito免费输出高清图片方法

基本原理是调用ovito软件包中的TachyonRenderer模块,该模块可实现Tachyon渲染,达到和ovito 2.9 Tachyon完全相同的效果。这种方法在后来的ovito版本中已经不能使用,但是ovito 2.9版本在后处理方面功能较少,使用起来也不是特别方便。在之前的推文中,曾介绍过使用ovito 2.9版本更换Tachyon渲染器实现高清图片的输出。这个方法只需要配置ovito模块即可,完全免费,不需要购买ovito pro版。具体的配置参数可到ovito官网查询。大家好,我是小马老师。

lammps_jiayou的博客 2762

BZOJ 2671 Calc 数论

题目大意:给定NN,求∑ni=1∑nj=1[i+j|ij]1\sum_{i=1}^n\sum_{j=1}^n[i+j|ij]1 跪Nodgd= = 不妨设d=gcd(i,j),i=ad,j=bd,gcd(a,b)=1d=\gcd(i,j),i=ad,j=bd,\gcd(a,b)=1,那么有 (a+b)d|abd2(a+b)d|abd^2 即 a+b|abda+b|abd ∵gcd(a,b

世界 4460

【参数配置】OpenClaw 的破解之道(Doom Loop)

本文深入解析了OpenClaw中的Doom Loop(死循环)问题及其应对策略。主要内容包括: Agent Loop的核心概念:基于ReAct范式,OpenClaw通过"思考-行动-观察"循环执行任务,但可能陷入无进展的死循环。 Doom Loop现象:Agent持续执行但任务进度为零,常见于四种工具调用场景:相同调用重复执行、调用不存在工具、轮询工具卡死、操作交替振荡。 OpenClaw的防御机制: 第一道防线:重试端断路器,通过上下文压缩熔断(最多3次)和总重试次数熔断(32-160次)防止无限重试。

海兰 4040

bzoj2671: Calc

(丧心病狂)莫比乌斯反演

ACoder 842

YOLO11有效改进专栏目录

YOLO11改进专栏导航

A1983Z的博客 3675

数字电视中的AD(Audio Description)音频描述技术详解

AD(Audio Description)音频描述是一种辅助技术,旨在帮助视障人士更好地理解视觉内容。通过在节目或视频的自然停顿处插入额外的语音叙述来解释屏幕上的视觉信息,如人物动作、场景变化、文字说明等,从而让视力受损的人士也能获得完整的观影体验。AD服务不仅限于电视广播,也广泛应用于电影、剧院表演、在线视频平台等领域。PID:用于标识和区分不同的音频流。PMT表:提供每个音频流的详细信息,包括PID、编解码器类型和语言代码。时间戳:PTS和DTS用于同步音频与视频内容。解复用。

以实战经验介绍行业知识 739

【BZOJ2671】Calc 数学

【BZOJ2671】Calc Description   给出N,统计满足下面条件的数对(a,b)的个数:  1.1<=a<b<=N  2.a+b整除a*b Input  一行一个数N Output  一行一个数表示答案 Sample Input 15 Sample Output 4 HINT...

aodanchui1057的博客 121

华为OD机考双机位C卷 - 朋友圈个数(Java & Python& JS & C/C++ & GO )

华为OD机考双机位C卷 - 朋友圈个数(OD上机考试双机位C卷)。提供Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。

算法大师! 695

BZOJ2671: Calc

BZOJ2671: Calc Description   给出N,统计满足下面条件的数对(a,b)的个数:  1.1<=a<b<=N  2.a+b整除a*b Input  一行一个数N Output  一行一个数表示答案 Sample Input 15 Sample Output 4 HINT 数...

weixin_30377461的博客 123

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

bzoj2671:Calc

传送门 我是菜鸡不会写,我抄题解,我无耻发博客 我看的博客 虽然以上全都属实,但是这个题我确实也学到了些操作 首先先转化一下题意 对于\(a,b\)要求\(a+b|ab\),则\(gcd(a,b)!=1\) 我们考虑将\(d=gcd(a,b)\),则\(a=id,b=jd\) 我们知道\(gcd(i,j)==1\),所以\(i+j|ijd\) 因为我们知道\(gcd(i,j)==1\),所以\(g...

weixin_30294709的博客 83

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

【BZOJ2671】Calc(莫比乌斯反演)

【BZOJ2671】Calc 题面 BZOJ 给出N,统计满足下面条件的数对(a,b)的个数: 1.\(1\le a\lt b\le N\) 2.\(a+b\)整除\(a*b\) 我竟然粘了题面!!! 题解 还是今天菊开讲的。 设出\(d=gcd(a,b)\) 那么,设\(a=xd,b=yd,gcd(x,y)=1\) \((x+y)d|xyd^2,x+y|xyd\) 根据辗转相减的原理 可以得到\...

weixin_30610755的博客 132

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

BZOJ 2671 Calc

题目链接 https://lydsy.com/JudgeOnline/problem.php?id=2671 题解 对于一对(a,b)(a,b)(a,b)满足a+b∣aba+b\mid aba+b∣ab,假设d=gcd⁡(a,b),a=xd,b=ydd=\gcd(a,b),a=xd,b=ydd=gcd(a,b),a=xd,b=yd,那么 xd+yd∣xyd2x+y∣xydx+y∣d xd+yd\m...

Canopus 366

【BZOJ2671】Calc

题面 BZOJ 给出N,统计满足下面条件的数对(a,b)的个数: 1.1≤a&amp;amp;lt;b≤N1≤a&amp;amp;lt;b≤N1\le a\lt b\le N 2.a+ba+ba+b整除a∗ba∗ba*b 我竟然粘了题面!!! 题解 还是今天菊开讲的。 设出d=gcd(a,b)d=gcd(a,b)d=gcd(a,b) 那么,设a=xd,b=yd,gcd(x,y)=1a=xd,b=yd,gc...

小蒟蒻yyb的博客 1697

bzoj2671 Calc 数论

太神了。完全不会。。o(╯□╰)o。       首先来看一下怎样的ab满足条件:       设d=gcd(a,b),a=du,b=dv,那么:       a+b|ab → du+dv|d^2uv → u+v|duv,由gcd(u,v)=1 → gcd(u,v,uv)=1 → u+v|d。因此,在本题中就是要找到有多少对u,v,t,其中d=t(u+v),满足:       b=dv=t

lych的博客 2313

bzoj2671 Calc

传送门 求: ∑1≤a&lt;b≤N[a+b∣ab]\sum_{1 \le a &lt; b \le N}[a+b|ab]1≤a<b≤N∑​[a+b∣ab] 对于a+b∣aba+b|aba+b∣ab,我们考虑利用gcdgcdgcd将其转化。设gcdgcdgcd为ddd。 令a=u∗d,b=v∗da=u*d,b=v*da=u∗d,b=v∗d,其中gcd(u,v)=1gcd(u,...

g21wcr的博客 166

[bzoj2671] Calc

Description 给出N,统计满足下面条件的数对(a,b)的个数: 1<=a<b<=N a+b整除a*b  Input  一行一个数N Output  一行一个数表示答案 Sample Input 15 Sample Output 4 Solution 题目求的是: \[ \sum_{i=1}^n\sum_{j=i+1}^n[i+j|ij] \] 不妨设\(d=(i,j...

weixin_30745641的博客 72

【BZOJ2671】—Calc(莫比乌斯反演)

传送门 考虑实际求 ans=∑i=1n∑j=i+1n[i+j∣i∗j]ans=\sum_{i=1}^{n}\sum_{j=i+1}^n[i+j|i*j]ans=∑i=1n​∑j=i+1n​[i+j∣i∗j] 令d=gcd(i,j),i=i′d,j=j′dd=gcd(i,j),i=i&#x27;d,j=j&#x27;dd=gcd(i,j),i=i′d,j=j′d i+j∣i∗j→d(...

Stargazer的博客 225
上一篇: 【BZOJ 3884】上帝与集合的正确用法
下一篇: 近期刷题题解
Lcomyn
博客等级 码龄12年 14粉丝 74原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值