当前位置: 首页 > news >正文

2025Dec.居家集训游记

在家集训也能叫游记吗?

总所周知每一个OIer都爱写这东西 (欸我CSP-S游记还没写) ,所以在家集训也要写。

DAY1 11.9

有点忘了,游记是10号写的。

好像不安了一天,因为我太菜了,也有点想学校里的朋友。

学习了 kruskal 重构树,它满足二叉堆的性质,可以做让最小边权最大(降序排边),让最大边权最小(升序排边)的问题

例题:洛谷P4768 [NOI2018] 归程

重构树+最短路,在重构树上倍增找到海拔最低的不会被淹的虚点,其子树就是能坐车到的所有点,然后输出子树里的最短路。

这题的“其子树就是能坐车到的所有点”利用了二叉堆性质,即根节点和子节点一定成偏序关系,很有价值。

多组询问+多测的图论题最出生了,硬调2.5h。

DAY 11.10

回学校取了趟书,同学们真好呜呜呜。

今天是数论。

P5253 [JSOI2013] 丢番图

\[\frac{1}{x}+\frac{1}{y}=\frac{1}{n}\\ xy-xn-yn=0\\ xy-xn-yn+n^2=n^2<=>(x-n)(y-n)=n^2(这一步鬼能想到,\%一下GH大佬)\\ \]

所以是求\(n^2\)的因数对个数。

直接算\(O(n)\)超时,对\(n\)进行质因数分解,\(n=\sum_{i=1}^{k}p_i^{e_i}\),那么\(n^2=\sum_{i=1}^{k}p_i^{2e_i}\),每个质因数都有选\(0-2e_i\)\(2e_i+1\)种选择,可以看出来这样是不会重复的,因此因数个数为\(\prod_{i=1}^{k}(2e_i+1)\),结合超过\(\sqrt{n}\)的质因数最多只有一个的性质,时间复杂度\(O(\sqrt{n})\),因数肯定是首位配对,又因为\(n^2\)一定为完全平方数,中间会有个多出来的,因此答案为\(\frac{\prod_{i=1}^{k}(2e_i+1)}{2}+1\)

P1445 [Violet] 樱花

和上面的题一样,问题在于求每个质数在\(n!\)的质因子里出现了多少次。

GH大神使用了下面的公式(勒让德定理),其中\(e_p\)为质数\(p\)\(n!\)质因子里出现的个数。

\[e_p=\sum_{i=1}^{\infin}\lfloor\frac{n}{p^i}\rfloor \]

然而其实对\(1-n\)暴力质因数分解可以直接卡过去

然后我忘了区间筛怎么写了,欧拉函数递推公式看一遍忘一遍。

P4626 一道水题 II

注意到\(lcm(1,2,3,\dots,n)\)等价于\(\prod_{i=1}^{k}p_i^{e_i}\),其中\(e_i=\lfloor\log_{p_i}n\rfloor\)

居然被我切了,那确实水

这个题的模数是\(10^8+7\),是的这也是个质数,被坑了,出题人想干啥

P1306 斐波那契公约数

首先,神人结论,\(F[n]\)为斐波那契数列第\(n\)项,假定\(n<m\)​:

\[gcd(F[n],F[m])=F[gcd(n,m)] \]

GH大神:

???孩子们是结论大赛我们没救了

\(F[n]=a,F[n+1]=b,F[n+2]=a+b,F[n+3]=a+2b,F[n+4]=2a+3b\dots\)

欸,这可以看出来\(a\)\(b\)的系数其实也是个斐波那契数列。(注意力惊人)

\(F[m]=F[m-n-1]a+F[m-n]b\),即\(F[m]=F[m-n-1]·F[n]+F[m-n]·F[n+1]\)

带入原式

\[gcd(F[n],F[m-n-1]·F[n]+F[m-n]·F[n+1])=gcd(F[n],F[m-n]·F[n+1]) \]

引理(???):

\[gcd(F[n],F[n+1])=1 \]

证明:

\[\gcd(F[n],F[n+1])=\gcd(F[n],F[n]+F[n-1])=\gcd(F[n],F[n-1])\\ 设t=n-1,\gcd(F[t],F[t+1])=\gcd(F[t],F[t-1])\\ \dots\\ 所以最后就变成\gcd(F[1],F[2])=\gcd(1,1)=1了 \]

那么原式就又可以简化为\(\gcd(F[n],F[m])=\gcd(F[n],F[m-n])\)了。

再令\(m'=m-n\),就可以继续递归,得到\(\gcd(F[n],F[m])=\gcd(F[n],F[m\mod n])\)

由于\(m\mod n<n\),可以再令\(n'=m\mod n,m'=n\),得到

\[\gcd(F[n],F[m])=\gcd(F[n],F[m\mod n])=\gcd(F[n'],F[m'])=\gcd(F[n'],F[m'\mod n'])\dots$​ \]

再次注意到\(n,m\)的交替实际上是在求\(n'=\gcd(n,m)\),最后剩下的就是\(\gcd(F[n'],0)=F[\gcd(n,m)]\),证毕。

天哪每一步都是惊人的注意力吗

浅色调dalao也太强了。

欸不是模数\(10^8\)我怎么又被坑了。

值得一提的是,同机房LZC大佬也遇到了个模数为\(998442353\)的题。

已完成今日模数不只有\(998244353\)\(10^9+7\)大学习

http://www.jsqmd.com/news/36029/

相关文章:

  • 电商财务不求人!一张图看懂工作流程,算清每一笔账 - 智慧园区
  • OI 笑传 #26
  • 20232327 2025-2026-1 《网络与系统攻防技术》实验四实验报告
  • Gas 优化技巧
  • 2025.11.9总结
  • Python与C语言术语及概念差异全景总结
  • Appium vs uiautomator2 优势劣势对比表
  • 基于GF域的多进制QC-LDPC误码率matlab仿真,译码采用EMS算法
  • AtCoder Beginner Contest 431
  • 基于BPSK调制解调和LDPC编译码的单载波相干光传输系统matlab误码率仿真
  • 空间矢量脉宽调制(Space Vector Pulse Width Modulation)SVPWM基础
  • 如何有效衡量开发者生产力:超越代码行数的思考
  • 2025-11-blog
  • 科研项目申报
  • 关于apk安装包的解包与签名重新打包
  • 20232325 2025-2026-1 《网络与系统攻防技术》实验四实验报告
  • 题解:P11361 [NOIP2024] 编辑字符串
  • 与某省代理商的合作,写一点感触吧
  • CSP-S 2025 解题报告
  • 嵌入式面试中常见的一些编程题目 - 阿源
  • Makefile工程简单模板
  • 实用指南:Visual Studio下载安装教程(非常详细)从零基础入门到精通,看完这一篇就够了
  • 升鲜宝 供应链SCM 一体化自动化部署体系说明
  • 折腾笔记[37]-使用ML.NET进行文本情感分类
  • 从API调用到智能体编排:GPT-5时代的AI开发新模式 - 教程
  • Spring AI Alibaba 项目源码学习(一)-整体介绍
  • 技术架构师到CIO如何转型
  • Layout
  • OS 任务调度
  • 【Linux】初始线程 - 实践