无聊的时候氵一些小套路
快一个月不更博的时候氵一篇博客
分治
https://www.cnblogs.com/flashhu/p/9874012.html
图论
边数小于点数的无向连通图是一棵树nmdwsmduliuyyb
所有简单环都是奇环的图是仙人掌。
竞赛图缩点之后是一条链。
(边权都是)任意两点间最大流不超过的图可以划分为不超过个生成森林。
看到平面图(包括网格图)的时候想一想对偶图转化。
费用流增广的时候,每一次做完之后的费用和是一个凸函数,可以利用这个性质做一些二分之类的事情。模拟费用流类问题的贪心正确性也可以尝试着从费用流模型推导过来。
Dilworth定理
最长反链长度=最小链覆盖数
涉及很多概念,看这个博客
MST
一张图的所有可能的MST中,每一种边权的数量都分别是一样的;
Kruskal加边的时候,对于同样边权的边,无论它们中间以什么顺序加边,最后的连通性都是一样的。
MST有不少性质,在某些题里面,可以巧妙地对边重赋权、更改端点等而不影响MST,最后更方便的求解答案。
数学
Stirling数
第一类Stirling数可以用一个卷积表示,$$s(n,m)=x^m$$
对于给定求所有的朴素方法是分治FFT,但这个式子可以通过倍增求出。
假设我们求出了,现在要求,我们有
两遍FFT就出来了。
关于幂、组合数和第二类Stirling数的两个很常用的式子,似乎有着美妙的联系
因为幂()的组合意义就是个有标号球放到个有标号盒子的方案数,Stirling数是放到无标号盒子且盒子非空的方案数,所以就可以用组合意义解释第一个式子:
球有序盒有序允许空盒的方案数,等于枚举非空盒的个数,将盒无序的方案数乘上阶乘使其有序,再乘上从所有盒中选出这个的组合数(或者直接说是排列数也行)。
第二个式子似乎就是倒着考虑这个组合意义,每次从允许空盒方案中减去有盒为空的方案数,再除掉阶乘使其无序。
这样联系起来似乎好记多了。
计数
Matrix-Tree定理
无向图:求的是图的生成树个数。
度数矩阵-邻接矩阵,即对于边,++a[u][u],++a[v][v],--a[u][v],--a[v][u]
。
任意消去一行一列求一个代数余子式的值。
有向图:求的是树形图个数,需要区分外向树和内向树。
内向树是入度矩阵-邻接矩阵,即++a[u][u],--a[u][v]
,外向树把边反过来就行了。
消去第行第列可以求出以为根的树形图个数。
字符串
一些性质
KMP的next和回文树的fail都可以划分成段等差数列。
SA
用二哈求SA的时候请使用stable_sort
。
蒟蒻猜测sort
的底层实现主要是快速排序,stable_sort
主要是归并排序。
基于猜测,它相比sort
有两倍的空间占用,但比较次数少。在比较为算法复杂度瓶颈时常数小了一大截。窝和Cgod都有过被卡的经历。。。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具