首页 > 其他分享 >抽象数学合集

抽象数学合集

时间:2024-07-30 21:29:07浏览次数:13  
标签:lfloor frac gcd limits sum rfloor 抽象 数学 合集

好无聊啊,来总结一下这几天学习的东西。

整除分块

整除分块常用于求解以下形式的式子:

\(\sum\limits_{i=1}\limits^{n} f(i)g(\lfloor \dfrac{n}{i} \rfloor)\)

其中 \(f\) 函数前缀和易得。

直接写结论:

\(\lfloor \dfrac{n}{i} \rfloor\) 最多只有 \(\sqrt{n}\) 种取值并且连续。我们将连续相同的一个取值段称为一个块,那么 \(x\) 所在块的右端点为 \(\lfloor \dfrac{n}{\lfloor \frac{n}{x} \rfloor} \rfloor\)。

那么我们可以利用这个性质解决问题:

例题1 UVA11526 H(n)

求 \(\sum\limits_{i=1}\limits^{n} \lfloor \dfrac{n}{i} \rfloor\)。

模板题。\(f,g\) 函数均为 \(id\) 函数。显然前缀和易求,那么就可以使用整除分块。

while(now<=n){
	res+=(n/(n/now)-now+1)*(n/now);
	now=n/(n/now)+1;
}

例题 2 P2261 [CQOI2007] 余数求和

给定 \(n,k\),求 \(\sum\limits_{i=1}\limits^{n} k \bmod i\)。

尽人皆知,原式 \(= \sum\limits_{i=1}\limits^{n} k - k \times \lfloor \dfrac{k}{i} \rfloor\)。

又出现了那个整除式子,可以使用整除分块了。

while(now<=n){
	int r=(k/now)?(k/(k/now)):n;
	r=min(r,n),res+=(F(now,r))*(k/now);
	now=r+1;
}
cout<<n*k-res<<endl;

其实,整除分块更多是用于莫比乌斯反演的一个优化求和。

狄利克雷卷积

我们定义两个积性函数 \(f,g\) 的狄利克雷卷积 \((f * g)(n) = \sum\limits_{d|n} f(d)g(\dfrac{n}{d})\)。

狄利克雷卷积满足以下性质:

  • 交换律:\(f * g = g * f\);

  • 结合律:\(f * (g * h) = (f * g) * h\);

  • 分配律:\((f + g) * h = f * h + g * h\)。

同时满足以下几条:

  • \(\mu * 1 = \epsilon\)

  • \(\varphi * 1 = id\)

  • \(f * \epsilon = f\)

  • \(\mu * id = \varphi\)

这些性质会经常用到。

和式变换

这块内容很重要,是做题推式子的基础。

和式变换定律

  • 分配律:\(\sum k a_i = k \sum a_i\);

  • 交换律:\(\sum a_i = \sum a_{b_i}\),其中 \(b\) 是 \(1 \sim n\) 的一个排列;

  • 结合律:\(\sum (a_i + b_i) = \sum a_i + \sum b_i\)。

和式变换技巧

  • 替换条件式:\(\sum\limits_{d | \gcd(n,m)} d = \sum\limits_{d=1}\limits^n [d|i][d|j]d\)

  • 替换指标变量:\(\sum\limits_{i=1}\limits^{n} \sum\limits_{j=1}\limits^{m} [\gcd(i,j) = k] = \sum\limits_{ik=1}\limits^{n} \sum\limits_{jk=1}\limits^{m} [\gcd(i,j)=k] = \sum\limits_{i=1}\limits^{\lfloor \frac{n}{k} \rfloor} \sum\limits_{j=1}\limits^{\lfloor \frac{m}{k} \rfloor} [\gcd(i,j)=1]\)

  • 交换求和顺序:\(\sum\limits_{i=1}\limits^{n} \sum\limits_{j=1}\limits^{m} f(i)g(j) = \sum\limits_{j=1}\limits^{m} \sum\limits_{i=1}\limits^{n} f(i)g(j)\)

  • 分离变量(各回各家,各找各妈):\(\sum\limits_{i=1}\limits^{n} \sum\limits_{j=1}\limits^{m} f(i)g(j) = \sum\limits_{i=1}\limits^{n} f(i) \sum\limits_{j=1}\limits^{m} g(j)\)

熟悉上述变换以后,就可以做题了!

先上一个被清峥称为板子的题:

例题 1 P3455 [POI2007] ZAP-Queries

给定 \(n,m,k\),求 \(\sum\limits_{i=1}\limits^{n} \sum\limits_{j=1}\limits^{m} [\gcd(i,j)=k]\)。

替换指标变量:

\[\sum\limits_{i=1}\limits^{n} \sum\limits_{j=1}\limits^{m} [\gcd(i,j)=k] \]

\[=\sum\limits_{ik=1}\limits^{n} \sum\limits_{jk=1}\limits^{m} [\gcd(i,j)=k] \]

\[= \sum\limits_{i=1}\limits^{\lfloor \frac{n}{k} \rfloor} \sum\limits_{j=1}\limits^{\lfloor \frac{m}{k} \rfloor} [\gcd(i,j)=1] \]

因为我们有 \(\mu * 1 = \epsilon\),所以我们有:

\[\sum\limits_{i=1}\limits^{\lfloor \frac{n}{k} \rfloor} \sum\limits_{j=1}\limits^{\lfloor \frac{m}{k} \rfloor} [\gcd(i,j)=1] \]

\[= \sum\limits_{i=1}\limits^{\lfloor \frac{n}{k} \rfloor} \sum\limits_{j=1}\limits^{\lfloor \frac{m}{k} \rfloor} \sum\limits_{d|\gcd(i,j)} \mu(d) \]

枚举 \(\gcd\):

\[= \sum\limits_{i=1}\limits^{\lfloor \frac{n}{k} \rfloor} \sum\limits_{j=1}\limits^{\lfloor \frac{m}{k} \rfloor} \sum\limits_{d=1}\limits^{\lfloor \frac{n}{k} \rfloor} [d = \gcd(i,j)]\mu(d) \]

\[= \sum\limits_{i=1}\limits^{\lfloor \frac{n}{k} \rfloor} \sum\limits_{j=1}\limits^{\lfloor \frac{m}{k} \rfloor} \sum\limits_{d=1}\limits^{\lfloor \frac{n}{k} \rfloor} [d|i][d|j]\mu(d) \]

其实就是替换条件式。

分离变量:

\[= \sum\limits_{d=1}\limits^{\lfloor \frac{n}{k} \rfloor} \mu(d) \sum\limits_{i=1}\limits^{\lfloor \frac{n}{k} \rfloor} [d|i] \sum\limits_{j=1}\limits^{\lfloor \frac{m}{k} \rfloor} [d|j] \]

显然:

\[= \sum\limits_{d=1}\limits^{\lfloor \frac{n}{k} \rfloor} \mu(d) \lfloor \dfrac{n}{dk} \rfloor \lfloor \dfrac{m}{dk} \rfloor \]

至此推式子已经完成,观察到后面的 \(\lfloor \dfrac{n}{dk} \rfloor \lfloor \dfrac{m}{dk} \rfloor\) 完全可以整除分块处理,而 \(\mu(d)\) 的前缀和通过筛法易求,于是本题就做完了,时间复杂度 \(O(\sqrt n)\)。

n/=k,m/=k;
while(now<=min(n,m)){
	int r=min(n/(n/now),m/(m/now));
	res+=(sum[r]-sum[now-1])*(n/now)*(m/now),now=r+1;
}
cout<<res<<endl;

上述 \(sum_i = \sum\limits_{j=1}\limits^{i} \mu(j)\)。

标签:lfloor,frac,gcd,limits,sum,rfloor,抽象,数学,合集
From: https://www.cnblogs.com/luqyou/p/18333355

相关文章

  • 最新基于多案例全流程防洪评价报告编制方法与水流数学模型建模实践技术应用
    随着社会经济的快速发展,我国河道周边土地开发利用率不断增大,临河建筑物与日俱增,部分河道侵占严重,导致防洪压力增大。加之部分河流沿岸临河建筑物设置混乱、布设不合理、阻水率增大、未经管理部门同意私设涉河建筑物等问题非常突出,已威胁到河道安全,使得河道防洪保障工作压力日益......
  • 文件解析漏洞合集
    IIS解析漏洞IIS6目录解析打开windows——server2003,在wwwroot目录下创建1.asp,在其中创建的所有文件都会在访问时以asp解析出来畸形文件解析在wwwroot目录下创建2.asp;.jpg,此文件上传时是.jpg后缀,但解析时由于iis6文件解析漏洞,;及其后的.jpg不被解析......
  • Bugku CTF 合集
    1.Simple_SSTI_11.打开靶场,翻译得知需要输入一个flag作为参数,检查源代码,发现可以设置secretkey作为变量经了解,SSTL是一个模板注入,SECRETKEY:是flask一个重要得配置值需要用以下代码来加密/?flag={{config.SECRETKEY}}(注意大小写),或直接/?flag={{config}}......
  • 【信息学奥赛提高组】组合数学和线性代数初步
    组合数学和线性代数目录组合数学和线性代数组合数学组合数TwelvefoldWay基础计数隔板法整数划分第二类斯特林数容斥原理反演二项式反演莫比乌斯反演高维前缀和鸽巢原理线性代数向量和矩阵向量矩阵高斯消元线性基组合数学组合数\(\binom{m}{n}\)表示\(m\)个物品选出\(n\)个的......
  • 【Python数值分析】革命:引领【数学建模】新时代的插值与拟合前沿技术
    目录​编辑第一部分:插值的基本原理及应用1.插值的基本原理1.1插值多项式1.2拉格朗日插值 1.3牛顿插值 1.4样条插值2.插值的Python实现2.1使用NumPy进行插值2.2使用SciPy进行插值2.2.1一维插值​编辑2.2.2二维插值3.插值的应用场景3.1数据平......
  • 如何获得 Shiny Chat 的响应来显示格式化的数学方程?
    我试图让这个示例应用程序输出格式化的数学方程。闪亮的聊天教程此处建议自定义响应显示,但我无法获得建议@chat.transform_assistant_response修改格式。我按原样使用下面的代码:@chat.transform_assistant_responsedef_(content:str)->ui.HTM......
  • 数学中的连分式、无穷连根式、平方根
    连分式    连分式(continuedfraction)由和与倒数的多层嵌套构成,可以是有限的,也可以是无限的。表达式:或importmathdeffraction_to_continued_fraction(numerator,denominator,max_terms):"""计算一个分数的连分式表示。参数:numerator......
  • 常用数学知识
    笔者因尝试完成2022年csp-j初赛题目时不了解常用的数学公式,导致分数较低,所以编写此文,本文作导航用数列相关知识等比数列等差数列平面直角坐标系相关知识勾股定理三角函数未完待续……......
  • 【专题】2024家·生活智能家居趋势报告合集PDF分享(附原数据表)
    原文链接: https://tecdat.cn/?p=37146近二十载间,中国消费市场见证了从产品创新到渠道创新的双重飞跃,无论是耐用消费品还是快速消费品,均在线上线下平台绽放出前所未有的丰富选择,多数行业已转型为以消费者为核心导向的买方市场格局。阅读原文,获取专题报告合集全文,解锁文末218份智......
  • 考研数学强化结束我们需要具备什么能力?(上)
    前言就目前进度来说,大家都正在如火如荼地进行考研数学的强化复习,很多同学都只是埋头苦学,看视频课,刷题,再刷题。但却不知道强化的目的所在,强化过程中所学是为了提高什么。在这里给大家讲解一下考研数学强化结束我们需要具备的能力。1.把概念彻底搞懂已经进入了强化复习阶段,我......