首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
莫比乌斯反演 约数和
2024-10-27
[51nod1220] 约数之和(杜教筛+莫比乌斯反演)
题面 传送门 题解 嗯--还是懒得写了--这里 //minamoto #include<bits/stdc++.h> #define R register #define IT map<int,int>::iterator #define fp(i,a,b) for(R int i=a,I=b+1;i<I;++i) #define fd(i,a,b) for(R int i=a,I=b-1;i>I;--i) #define go(u) for(int i=head[u]
【BZOJ3994】约数个数和(莫比乌斯反演)
[BZOJ3994]约数个数和(莫比乌斯反演) 题面 求\[\sum_{i=1}^n\sum_{j=1}^md(ij)\] 多组数据\((<=50000组)\) \(n,m<=50000\) 其中\(d(x)\)是\(x\)的约数个数 题解 orz ZSY 巨佬 根据玄学(我也不知道为什么)的公式 \[d(ij)=\sum_{x|i}\sum_{y|j}[gcd(x,y)==1]\] 所以,所求等于 \[\sum_{i=1}^n\sum_{j=1}^m\sum_{u|i}\sum_{v|j}[
BZOJ_3994_[SDOI2015]约数个数和_莫比乌斯反演
BZOJ_3994_[SDOI2015]约数个数和_莫比乌斯反演 Description 设d(x)为x的约数个数,给定N.M,求 Input 输入文件包含多组测试数据. 第一行,一个整数T,表示测试数据的组数. 接下来的T行,每行两个整数N.M. Output T行,每行一个整数,表示你所求的答案. Sample Input 2 7 4 5 6 Sample Output 110 121 HINT 1<=N, M<=50000 1<=T<=50000 基本同BZOJ4176
【BZOJ3994】[SDOI2015] 约数个数和(莫比乌斯反演)
点此看题面 大致题意: 设\(d(x)\)为\(x\)的约数个数,求\(\sum_{i=1}^N\sum_{j=1}^Md(i·j)\). 莫比乌斯反演 这是一道莫比乌斯反演题. 一个重要的性质 首先我们要先了解\(d(i·j)\)这个函数的性质: \[d(i,j)=\sum_{x|i}\sum_{y|j}[gcd(x,y)==1]\] 证明: 我也不知道,应该就是枚举\(i\)和\(j\)的约数,求出其中不互质的约数对个数,避免重复计算. 一些定义 按照莫比乌斯反演的常见套路,我们可以定义\(
洛谷P3327 [SDOI2015]约数个数和 【莫比乌斯反演】
题目 设d(x)为x的约数个数,给定N.M,求\(\sum_{i = 1}^{N} \sum_{j = 1}^{M} d(ij)\) 输入格式 输入文件包含多组测试数据.第一行,一个整数T,表示测试数据的组数.接下来的T行,每行两个整数N.M. 输出格式 T行,每行一个整数,表示你所求的答案. 输入样例 2 7 4 5 6 输出样例 110 121 提示 1<=N, M<=50000 1<=T<=50000 题解 好神的题[是我太弱吧] 首先上来就伤结论.. 题目所求 \[ans
P3327 [SDOI2015]约数个数和 莫比乌斯反演
P3327 [SDOI2015]约数个数和 莫比乌斯反演 链接 luogu 思路 第一个式子我也不会,luogu有个证明,自己感悟吧. \[d(ij)=\sum\limits_{x|i}\sum\limits_{y|j}[gcd(x,y)==1]\] \[\sum\limits_{i=1}^{n}\sum\limits_{j=1}^{m}\sum\limits_{x|i}\sum\limits_{y|j}[gcd(x,y)==1]\] \[\sum\limits_{i=1}^{n}\sum\li
[SDOI2015][bzoj 3994][Luogu P3327] 约数个数和 (莫比乌斯反演)
题目描述 设d(x)d(x)d(x)为xxx的约数个数,给定NNN.MMM,求 ∑i=1N∑j=1Md(ij)\sum^{N}_{i=1}\sum^{M}_{j=1} d(ij)i=1∑Nj=1∑Md(ij) N,M,T<=50000N,M,T<=50000N,M,T<=50000 题目分析 首先很不显然的有这样一个结论: d(ij)=∑x∣i∑y∣j[(x,y)==1]d(ij)=\sum_{x|i}\sum_{y|j}[(x,y)==1]d(ij)=x∣i∑y∣j∑[(x,y
51nod 1584 加权约数和 约数和函数小trick 莫比乌斯反演
LINK:加权约数和 我曾经一度认为莫比乌斯反演都是板子题. 做过这道题我认输了 不是什么东西都是板子. 一个trick 设\(s(x)\)为x的约数和函数. 有 \(s(i\cdot j)=\sum_{x|i}\sum_{y|j}[(x,y)==1]x\cdot \frac{j}{y}\) 证明的话可以自己意会 赶时间. 然后 这道题唯一特别的是转换完后 直接莽推根号做法是行不通的 同时也过不去. 不如先考虑求 \(f_i=\sum_{j=1}^i s(i\cdot j)\) 然后带入上面的那
BZOJ 3994: [SDOI2015]约数个数和3994: [SDOI2015]约数个数和 莫比乌斯反演
https://www.lydsy.com/JudgeOnline/problem.php?id=3994 https://blog.csdn.net/qq_36808030/article/details/77056706 莫比乌斯反演,我现在莫比乌斯反演都不会写不会推了. #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<cmath&
[SDOI2015]约数个数和 莫比乌斯反演
---题面--- 题解: 为什么SDOI这么喜欢莫比乌斯反演,,, 首先有一个结论$$d(ij) = \sum_{x|i}\sum_{y|j}[gcd(x, y) == 1]$$为什么呢?首先,可以看做从两个数中分别取一些不重叠的质数的$k_{i}$次方,组成新数的方案数.那如果有需要重叠的部分怎么办?可以看做全都在第一个or第二个数中取.但是一个数的次数不够怎么办呢?相当于以1为媒介,可以简介统计到这些情况比如$2^{3} \cdot 2^{2} = 2^{5}$可以看成$1, 2^{3}$
【Luogu】P3327约数个数和(莫比乌斯反演+神奇数论公式)
题目链接 真TM是神奇数论公式. 注明:如无特殊说明我们的除法都是整数除法,向下取整的那种. 首先有个定理叫$d(ij)=\sum\limits_{i|n}{}\sum\limits_{j|m}{}(gcd(i,j)==1)$ 证明……我不会证qwq,可以看这个链接 所以原式$\sum\limits_{i=1}{n}\sum\limits_{j=1}{m}d(ij)$ =$\sum\limits_{i=1}^{n}\sum\limits_{j=1}^{m}\sum\limits_{k=1}^{i
洛谷$P$3327 约数个数和 $[SDOI2015]$ 莫比乌斯反演
正解:莫比乌斯反演 解题报告: 传送门! 先考虑证明一个结论,$d_{i\cdot j}=\sum_{p|i}\sum_{q|j}[gcd(p,q)==1]$ 看起来就很对的样子,但还是证下趴$QwQ$ 考虑分解质因数,设$i=p_{1}^{a_{1}}\cdot p_{2}^{a_{2}}\cdot p_{3}^{a_{3}},j=p_{1}^{b_{1}}\cdot p_{2}^{b_{2}}\cdot p_{3}^{b_{3}}$,则$i\cdot j=p_{1}^{a_{1}+b_{1}
Bzoj2154 Crash的数字表格 乘法逆元+莫比乌斯反演(TLE)
题意:求sigma{lcm(i,j)},1<=i<=n,1<=j<=m 不妨令n<=m 首先把lcm(i,j)转成i*j/gcd(i,j) 正解不会...总之最后化出来的莫比乌斯反演式子并没有除法- 本脑子有坑选手的做法:20101009是一个质数,而且n和m的范围小于20101009,这一定有其原因.经过仔细思考,我们发现这保证了每个1~n的数都有mod20101009意义下的乘法逆元.用inv[x]表示x的逆元,我们发现原先的式子等于sigma{inv[gcd(i,j)]
CSU 1325 莫比乌斯反演
题目大意: 一.有多少个有序数对(x,y)满足1<=x<=A,1<=y<=B,并且gcd(x,y)为p的一个约数: 二.有多少个有序数对(x,y)满足1<=x<=A,1<=y<=B,并且gcd(x,y)为p的一个倍数. 第一行两个数:p和q.(1<p<10^7 ,1<q<1000.) 接下来有q行,每行两个数A和B.(1<A,B<10^7) 我们先考虑第二个问题 ,很简单答案就是 (A/p) * (B/p) , 因为从p开
【莫比乌斯反演】关于Mobius反演与gcd的一些关系与问题简化(bzoj 2301 Problem b&&bzoj 2820 YY的GCD&&BZOJ 3529 数表)
首先我们来看一道题 BZOJ 2301 Problem b Description 对于给出的n个询问,每次求有多少个数对(x,y),满足a≤x≤b,c≤y≤d,且gcd(x,y) = k,gcd(x,y)函数为x和y的最大公约数. Input 第一行一个整数n,接下来n行每行五个整数,分别表示a.b.c.d.k Output 共n行,每行一个整数表示满足要求的数对(x,y)的个数 Sample Input 2 2 5 1 5 1 1 5 1 5 2 Sample Output 14 3 HI
hdu_1695: GCD 【莫比乌斯反演】
题目链接 这题求[1,n],[1,m]gcd为k的对数.而且没有顺序. 设F(n)为公约数为n的组数个数 f(n)为最大公约数为n的组数个数 然后在纸上手动验一下F(n)和f(n)的关系,直接套公式就好了.注意要删去重复的. 关于 莫比乌斯反演 的结论 #include<bits/stdc++.h> using namespace std; typedef long long LL; const int maxn=1e6; ]; ]; ]; void init() { mu[]=; ; ;i&
我也不知道什么是"莫比乌斯反演"和"杜教筛"
我也不知道什么是"莫比乌斯反演"和"杜教筛" Part0 最近一直在搞这些东西 做了将近超过20道题目吧 也算是有感而发 写点东西记录一下自己的感受 如果您真的想学会莫比乌斯反演和杜教筛,请拿出纸笔,每个式子都自己好好的推一遍,理解清楚每一步是怎么来的,并且自己好好思考. Part1莫比乌斯反演 莫比乌斯反演啥都没有,就只有两个式子(一般只用一个) 原来我已经写过一次了,再在这里写一次 就只写常用的那个吧 基本的公式 对于一个函数\(f(x)\) 设\(g(x)=\
【BZOJ3529】数表(莫比乌斯反演,树状数组)
[BZOJ3529]数表(莫比乌斯反演,树状数组) 题解 首先不管\(A\)的范围的限制 要求的东西是 \[\sum_{i=1}^n\sum_{j=1}^m\sigma(gcd(i,j))\] 其中\(\sigma(x)\)表示\(x\)的约数之和 约数之和是一个积性函数,可以线性筛 具体的做法请参考皮皮亮的Blog 根据常见的套路 把\(gcd\)给提出来 \[\sum_{d=1}^n\sigma(d)\sum_{i=1}^n\sum_{j=1}^m[gcd(i,j)=d]\] 后面那个东西不
【莫比乌斯反演】BZOJ1101 [POI2007]zap
Description 回答T组询问,有多少组gcd(x,y)=d,x<=a, y<=b.T, a, b<=4e5. Solution 显然对于gcd=d的,应该把a/d b/d,然后转为gcd=1计算 计算用莫比乌斯反演相信大家都会 关键是有T组询问n^2会T 于是有这样一个优化可以做到每次sqrt(n) 每一次是ret+=mu[i]*(n/i)*(m/i) 可是除法向下取整所以会导致很多i的(n/i)*(m/i)一样 具体来说,向下取整得到的结果一定是约数所以对于(n/i)最多2sq
BZOJ_4176_Lucas的数论_杜教筛+莫比乌斯反演
BZOJ_4176_Lucas的数论_杜教筛+莫比乌斯反演 Description 去年的Lucas非常喜欢数论题,但是一年以后的Lucas却不那么喜欢了. 在整理以前的试题时,发现了这样一道题目“求Sigma(f(i)),其中1<=i<=N”,其中 表示i的约数个数.他现在长大了,题目也变难了. 求如下表达式的值: 其中 表示ij的约数个数. 他发现答案有点大,只需要输出模1000000007的值. Input 第一行一个整数n. Output 一行一个整数ans,表示答案模100000
Codeforces.1139D.Steps to One(DP 莫比乌斯反演)
题目链接 啊啊啊我在干什么啊.怎么这么颓一道题做这么久.. 又记错莫比乌斯反演式子了(╯‵□′)╯︵┻━┻ \(Description\) 给定\(n\).有一个初始为空的集合\(S\).令\(g\)表示S中所有数的\(\gcd\).每次随机选择一个\([1,n]\)中的数加到集合\(S\)中去,直到\(g=1\).求集合\(S\)的期望大小.(原题目描述为数列长度,\(n\)是指\(m\),我自己都看混了=-=) \(n\leq10^5\). \(Solution\) 首先不要想\(f[i][
热门专题
vue如何阻止表单默认提交
stringtie 不预测新组装的转录本
js TB单位转换 大于1024进位
mysqld --initialize 生成的随机密码在哪看
模拟器app抓包 连不上网
mybatis Example链式编成
白盒 isprime
dell笔记本 flash update failed
vcs报assertion是什么意思
debian11 安装samba
如何删除路径太长的目录文件
python 肯德尔系数
GridView显示多张图片
springmvc json驼峰变下划线
可以同时打开2个钉钉吗
.net core qrcode 最新版
电脑数据自动上传脚本
C# debug 执行文件图标怎么改
java数组list转换
为什么C 空结构体占内存大小是1