51nod 1584 加权约数和

服务器被黑?快速检测和识别系统中的恶意进程 在管理服务器时,检测和识别系统中的恶意进程至关重要。本文介绍了使用 `ps`、`top`、`htop` 等系统监控工具,分析日志文件,以及使用 `chkrootkit` 和 `rkhunter` 等安全工具的方法。通过这些步骤,可以有效地检测和处理恶意进程,确保系统的安全和稳定。 阅读详情

原题链接.

题解:

必知知识:

σ(n)是n的约数和。
若 n=∏pqii
则 σ(n)=∏∑qij=0pji
=∏pqi+1i−1pi−1
知道了这个就可以线性筛法了,如有不懂得见code。


必要结论:

σ(i∗j)=∑p|i∑q|jp∗jq(gcd(p,q)=1)

证明:

∑p|i∑q|jp∗jq(gcd(p,q)=1)
=∑p|i∑q|jp∗q(gcd(p,jq)=1)

对每一个质因子分类讨论:

设 i=∑puii , j=pvii
p=∑plii , q=∑prii

1.若 ui>=li>0 ,则 ri=vi ,此时可以表示出 p(vi+1)−>(ui+vi)i 。
2. li=0 ,则 vi>=ri>=0 ,此时可以表示出 p0−>vii .

于是可以得出 p∗q 一定可以表示出每个质因子 p0−>(ui+vi)i ,合起来就包括了所有i*j的所有约数。

∴ σ(i∗j)=∑p|i∑q|jp∗jq(gcd(p,q)=1)


有了gcd就可以反演了。

Ans=∑ni=1∑nj=1σ(i∗j)∗max(i,j)
=∑ni=1∑nj=1∑p|i∑q|jp∗jq∗max(i,j)(gcd(p,q)=1)
=∑np=1∑nq=1∑⌊np⌋i=1∑⌊nq⌋j=1p∗j∗max(pi,qj)(gcd(p,q)=1)
=∑np=1∑nq=1∑⌊np⌋i=1∑⌊nq⌋j=1p∗j∗max(pi,qj)∑d|gcd(i,j)μ(d)
=∑nd=1μ(d)∗d∑⌊nd⌋p=1∑⌊nd⌋q=1∑⌊nd∗p⌋i=1∑⌊nd∗q⌋j=1p∗j∗max(d∗pi,d∗qj)
=∑nd=1μ(d)∗d2∗∑⌊nd⌋p=1∑⌊nd⌋q=1∑⌊nd∗p⌋i=1∑⌊nd∗q⌋j=1p∗j∗max(pi,qj)

注意到d后面是和n/d有关的一个函数。
设 g(n/d)=∑⌊nd⌋p=1∑⌊nd⌋q=1∑⌊nd∗p⌋i=1∑⌊nd∗q⌋j=1p∗j∗max(pi,qj)

g(n)=∑np=1∑nq=1∑⌊np⌋i=1∑⌊nq⌋j=1p∗j∗max(pi,qj)
仔细观察你发现这就是一个σ.
g(n)=∑ni=1∑nj=1σ(i)∗σ(j)∗max(i,j)
=(∑ni=1σ(i)∗i∗∑ij=1∗σ(j))∗2−(∑ni=1i∗σ(i)2)
用线性筛法预处理1-n的σ,就可以预处理g(1-n)了。

转回去,现在给出n,求 ∑nd=1g(⌊nd⌋)∗μ(d)∗d2
设 M(d)=μ(d)∗d2
则求 ∑nd=1g(⌊nd⌋)∗M(d)

1≤数据组数≤50000,1≤N≤1000000。

不要以为你的暴力分块能过。

用差分表O(n log n)预处理即可O(1)查询了。

Code:

#include<cstdio>
#include<cstring>
#define ll long long
#define fo(i, x, y) for(int i = x; i <= y; i ++)
#define min(a, b) ((a) < (b) ? (a) : (b))
#define max(a, b) ((a) > (b) ? (a) : (b))
using namespace std;

const ll N = 1000000;
const ll mo = 1e9 + 7, ni_2 = 5e8 + 4, ni_6 = 166666668;

bool bz[N + 5];
ll p[N];
ll u[N + 5], v[N + 5], s[N + 5];
ll mu[N + 5], s2[N + 5], s3[N + 5], s4[N + 5];

int T, n; ll ans;

int main() {
    mu[1] = u[1] = v[1] = s[1] = 1;
    fo(i, 2, N) {
        if(!bz[i]) p[++ p[0]] = i, mu[i] = -1, u[i] = v[i] = i, s[i] = i + 1;
        fo(j, 1, p[0]) {
            ll k = i * p[j];
            if(k > N) break;
            bz[k] = 1;
            if(i % p[j] == 0) {
                mu[k] = 0;
                u[k] = u[i]; v[k] = v[i] * u[k];
                s[k] = s[k / v[k]] * ((v[k] * u[k] - 1) / (u[k] - 1));
                break;
            }
            u[k] = v[k] = p[j];
            s[k] = s[i] * s[p[j]];
            mu[k] = -mu[i];
        }
    }
    fo(i, 1, N) mu[i] = mu[i] * i % mo * i % mo;
    fo(i, 1, N) s2[i] = (s2[i - 1] + s[i]) % mo;
    fo(i, 1, N) s3[i] = (s3[i - 1] + s[i] * i % mo * s2[i] % mo) % mo;
    fo(i, 1, N) s4[i] = (s4[i - 1] + s[i] * s[i] % mo * i % mo) % mo;
    fo(i, 1, N) s[i] = (s3[i] * 2 - s4[i] + mo) % mo;
    memset(s2, 0, sizeof(s2));
    fo(i, 1, N) fo(j, 1, N / i) {
        ll x = i * j, y = min(N, i * (j + 1) - 1);
        s2[x] += mu[i] * s[j] % mo; s2[y + 1] -= mu[i] * s[j] % mo;
    }
    fo(i, 1, N) s3[i] = ((s3[i - 1] + s2[i]) % mo + mo) % mo;
    scanf("%lld", &T);
    fo(ii, 1, T) {
        ans = 0;
        scanf("%d", &n);
        printf("Case #%d: %d\n", ii, s3[n]);
    }
}
嵌入式开发实战:如何用cJSON库在STM32上实现轻量级JSON通信(附完整代码) 本文详细介绍了如何在STM32嵌入式系统中使用cJSON库实现高效的JSON通信方案。针对嵌入式环境的内存限制,提供了内存优化策略、cJSON库的深度定制方法以及完整的通信流程实现代码,帮助开发者解决JSON解析效率低下和跨平台兼容性等核心挑战。 阅读详情

相关推荐

TwinCAT3与Matlab Simulink集成开发:如何快速生成和调试TcCOM模块

本文详细介绍了如何将TwinCAT3与Matlab Simulink进行深度集成,实现从控制算法模型到实时TcCOM模块的高效开发。通过环境搭建、模型配置、代码生成、系统集成与调试的完整流程,工程师可以快速将Simulink算法部署到倍福实时控制平台,大幅缩短开发周期并提升可靠性。

ik67890123的博客 224

【51Nod1584】加权约数和(数论)

【51Nod1584】加权约数和(数论) 题面 51Nod 题解 要求的是\[\sum_{i=1}^n\sum_{j=1}^n max(i,j)\sigma(ij)\] 这个\(max\)太讨厌了,直接枚举一半乘个二。 \[2\sum_{i=1}^n\sum_{j=1}^{i}i\sigma(ij)-\sum_{i=1}^ni\sigma(i^2)\] 后面这一半可以直接预处理,只需要把\(i\)...

weixin_30912051的博客 186

MS1861宏晶微视频显示与控制器芯片:开发资料全解析与应用指南

本文全面解析了宏晶微MS1861视频显示与控制器芯片的核心功能与开发流程。该芯片作为高性能的“视频信号翻译官”,支持HDMI、LVDS等多种输入与MIPI、LVDS等输出,集成强大的图像处理与OSD叠加功能。文章详细介绍了从资料获取、环境搭建到以HDMI转MIPI为例的实战配置与调试技巧,为工业HMI、广告机等应用的开发者提供了完整的应用指南。

weixin_29198045的博客 337

51Nod 1584 加权约数和

51Nod 1584 加权约数和 要求:\(\sum_{i=1}^n\sum_{j=1}^n\max(i,j)\sigma_1(ij)\) 枚举\(\max(i,j)\),式子变为:\(2\sum_{i=1}^ni\sum_{j=1}^i\sigma_1(ij)-\sum_{i=1}^ni\sigma_1(i^2)\) 这里不加证明地给出结论:\(\sigma_1^k(ij)=\sum_{p|i...

weixin_30618985的博客 258

UART中断接收的实战陷阱:HAL库常见误区与性能调优指南

本文深入解析STM32 HAL库UART中断接收机制,揭示常见实战陷阱如数据溢出、中断优先级配置不当等,并提供性能调优方案。重点介绍如何使用空闲中断处理不定长数据、DMA与中断混合模式优化,以及工业级错误恢复与流量控制策略,帮助开发者构建稳定可靠的串口通信系统。

pea55的博客 747

一文学会Cadence Sigrity PDN仿真——硬件新手小白都能看懂的保姆级教程

电源完整性的仿真,实际上是在仿真以及优化系统中的等效串联电阻。知道了仿真以及优化的目标之后,接下来就是要弄明白这个串联电阻从哪儿来以及怎么优化。整个系统中的串联电阻实际上由三部分组成:没有相位的阻抗,有相位的容抗和感抗,得益于相位,在某个特定的频点,容抗和感抗会大小相等,相位相反而相互抵消,这时候整个系统中就剩下了阻抗,所以整个系统的串联电阻达到了一个最低值,这种现象就是----谐振。当系统处于谐振点时候,整个系统会有一个最小的串联电阻,所以第一个优化电阻的手段就是让谐振来的更频繁一点。

学习帮的博客 2万+

51nod1584:加权约数和(数论+线性筛)

离退役不远了,我依然很菜很菜,所以以后博客不再面向对象了,只为自己看懂。 题面 题意:求∑i=1n∑j=1nmax(i,j)σ1(ij)\sum_{i=1}^n\sum_{j=1}^nmax(i,j)\sigma_1(ij) 其中σ1(x)\sigma_1(x)为x的约数和。 分类讨论2∑i=1n∑j=1iiσ1(ij)−∑i=1niσ1(i2)2\sum_{i=1}^n\sum_{j=1

KKiseki的博客 652

Adams软件安装与配置全攻略:从入门到机器人仿真

机械系统动力学仿真软件Adams是工业机器人开发的重要工具,其安装过程涉及许可证配置、环境变量设置等关键技术环节。专业仿真软件安装通常需要处理系统兼容性、组件依赖和授权验证等工程问题,特别是在机器人控制仿真等场景中,还需集成MATLAB/Simulink等第三方工具。本文以Windows平台为例,详解Adams安装的核心步骤,包括系统环境检查、许可证服务器配置、工业机器人专项模块安装等实践要点,并针对NVIDIA Quadro显卡优化、27500端口通信等常见问题提供解决方案,帮助用户快速搭建可靠的仿真环境

weixin_28523493的博客 201

51nod1584 加权约数和

莫比乌斯反演+线性筛

YHaX的博客 764

《QEMU/KVM源码分析与应用》读书笔记1 —— 第1章 QEMU与KVM概述

《QEMU/KVM源码分析与应用》学习笔记1 —— 第一章 QEMU与KVM概述

phmatthaus的专栏 1984

基于STM32+RFID设计的宿舍检修管理系统

设计一个上位机,用来管理查看维修检修信息,当维修寝室的设备或者检修完成时,通过STM32上的RC522刷一下这个寝室的IC卡,识别这是哪个寝室,识别成功后在软件上弹出一个对话框,填写本次维修或者检修的事件,填写完毕点击提交即可。...

2556

[莫比乌斯反演] 51Nod 1584 加权约数和

这个网上找不到题解嘛 那我就来写一发!(式子略) 不是我不想写 是我真的不会用markdown 我立一发flag 除夕我要学markdown 完成题解补完计划Ans=2∑i=1n∑j=1ii∗σ(ij)−∑i=1ni∗σ(i2) Ans= 2\sum _{i=1}^n \sum _{j=1}^i i*\sigma(ij) - \sum _{i=1}^n i*\sigma(i^2)因为∑i=1n

雯舞 1279

7.1华为OD机试真题 新系统 - 仓库盘点 (Java/Py/C/C++/Js/Go)

7.1华为OD机试真题 新系统 - 仓库盘点 (Java/Py/C/C++/Js/Go)

算法大师! 509

[51Nod 1584] 加权约数和(约数和函数性质 + 莫比乌斯反演) | 错题本

文章目录题目分析代码 题目 [51Nod 1584] 加权约数和 分析 先把 max⁡{i,j}\max\{i, j\}max{i,j} 去掉: 原式=2∑i=1N∑j=1iiσ(ij)−∑i=1Niσ(i2)原式=2\sum_{i = 1}^{N}\sum_{j = 1}^i i\sigma(ij)-\sum_{i = 1}^N i\sigma(i^2)原式=2i=1∑N​j=1∑i​iσ(ij)−i=1∑N​iσ(i2) 推式子前先介绍约数和函数有一个重要性质(和约数个数一样可以转化为 gcd⁡\gc

ixRic 378

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

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

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

51nod1584 加权约数和【线性筛】

题目描述: 求∑i=1N∑j=1Nmax⁡(i,j)⋅σ(i⋅j) mod  109+7\sum_{i=1}^N\sum_{j=1}^N\max(i,j)\cdot\sigma(i\cdot j)~\mod 10^9+7i=1∑N​j=1∑N​max(i,j)⋅σ(i⋅j) mod109+7 其中σ(i⋅j)\sigma(i\cdot j)σ(i⋅j)表示i⋅ji\cdot j...

Master.Yi的博客 198

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

[51Nod 1584] 加权约数和

Description 在整理以前的试题时,他发现了这样一道题目:“求 \(\sum\sigma(i)\),其中 \(1≤i≤N\),\(σ(i)\) 表示 \(i\) 的约数之和。” 现在他长大了,题目也变难了,所以麻烦你来帮他解决一道数论题吧。 他需要你求如下表达式的值: \[ \sum_{i=1}^N\sum_{j=1}^N\max(i,j)⋅σ(i⋅j) \] 其中 \(\max(i,j)...

weixin_33850890的博客 92

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

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

51Nod1584 加权约数和

这题其实就是反演一波就好了(那你还推了一下午+一晚上),不过第一次碰到\(O(n\log n)\)预处理分块和式的方法…… 不知为啥我跟唐教主的题解推的式子不太一样……(虽然本质上可能是相同的吧) 那就写一写好了,顺便骗点访问量(逃 \[\begin{align} \nonumber\text{Let}\space A=&\sum_{i=1}^n\sum_{j=1}^i i\si...

afghbv0316的博客 201

51nod1584加权约数和

题目大意: 求: \[ \sum_{i-1}^n\sum_{j=1}^nmax(i,j)\sigma(i*j) \] 题解 对于这个\(\max\),套路的把它转化成: \[ 2*\sum_{i=1}^n\sum_{j=1}^ii*\sigma(i*j)-\sum_{i=1}^n i*\sigma(i*i) \] 对于前面的部分,我们可以: \[ \sum_{i=1}^{n}\sum_{j=1}^...

weixin_34409741的博客 185

加权约数和,51nod 1584,困难的莫比乌斯反演

正题 首先看到max很不爽,先去掉: 后面那个东西可以线性筛预处理出来,我们先不管。 考虑对于每一个i,他的取值:。 我们先考虑到底等于什么,先给出公式: 其实这种方法构造地十分巧妙,我们将每一个质因子分开来讨论; 也就是说,观察是否等于 因为如果等于的话,相乘一下就是...

Deep_Kevin的娱乐空间 457

51nod1584:加权约数和 (莫比乌斯反演)

题目传送门:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1584 题目分析:这题应该算是[SDOI2015]约数个数和的加强版吧,如果还没有做过这道题的同学可以先想一想这题。至于它的解法你们可以自行百度(或看看我写的题解) 好吧,回到这题。 我们要搞清楚一个东西:σ1(ij)σ1(ij)\sigma_1(ij...

KsCla 995
上一篇: 51nod 1220 约数之和
下一篇: 2-SAT学习小记
Cold_Chair
博客等级 码龄11年 158粉丝 410原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值