我们能不能把讲课过于抽象的都给票出去??
不好评价。你猜为什么我现在就开始写总结了。
感觉讲得有点太抽象了。现在有很多题口胡都胡不出来,数学上的知识储备几乎为 0 。所以写总结就是为了让自己至少把做法说出来,这样好懂些。
你们 cfls 为什么讲课不是完全听不懂就是不用听也能懂。合着我他妈是付了 500 一天来包网吧还花 80 买你的猪食是吧。这一次出来半个月算上点外卖改善伙食的那点钱能有接近 1w 了。
那我去[数据删除]只用 2~3k ,要被查到了警方只罚款我 5k 然后行政拘留十五天,效果也差不多还便宜些呢,就这样子都比在成外听课划算。
主要的学习方式不是听课,是读 ppt 和看社区的题解。感觉一天很废物。并且自己的很多基础比较薄弱,特别是数学方面。图论和数据结构也是很多板子打不来了,有的经典套路还能忘掉。感觉还是需要一定的复盘。放假的时候会做这样的事情。
图论
不是 Ad-hoc 就全是网络流。这里记录完全是随机撒点的小技巧,思维方式串不起来,真的很气人!!!!!
-
对于一个性质比较复杂的图可以从多个方面来考虑简化,其中就有将它变成补图。
-
每棵树都能通过相当简单的方式被划分成若干菊花。
-
一个图补图的生成树怎么求?我们直接维护一个队列和一个 set ,每次队首取出一个点 u ,暴力遍历 set 然后在这个点的边集上跑双指针,每次连了边 (u, v) 就让 v 从 set 里面滚出去。发现最后摊下来就是点数 log 加上边数的。
-
dijk 有个没什么营养的优化就是如果距离值域不大可以开
std::vector桶来让std::priority_queue下岗失业,少掉一个 log 。 -
对于无向图中规模较小的特定结构的计数(如三元环、四元环、K4等)一般来说就是将所有点按照度数大到小排序重编号,然后直接跑暴力,每次只遍历重编号比它大/小的点。这样把度数大于 \(\sqrt n\) 的 \(O(\sqrt n)\) 个点和剩下的点的度数和分开算一下贡献,发现最后的复杂度来到了根号。
在一个图中按点的度数做根号分治也是很典的技巧,我没记错的话初一就会了。不是出这种裸题的人是脑子进岩浆了吗?? -
删去最少的点使得原图变成独立集。这个东西已知没有其他做法,直接搜,极限可以搜到点数 n = 40 左右。
网络流没什么好讲的,建模技巧也学不来。
-
有两边,每边有若干种状态,两边状态组合会产生不同贡献的可以考虑建出最小割模型。
-
上下界网络流简而言之就是建立虚拟原点和虚拟汇点来补足原图上流量的不平衡。原来会的,后来不会了,现在又会了。
数学
记都不想记。
-
形如两数分别乘若干次方之后同余的问题,一般把两边都用 BSGS 改写成模数原根若干次方的形式会好很多。
-
Stirling 幂反演
斯特林数怎么这么坏啊。
其实很好理解,根据第二类斯特林数的组合意义来就行了。
这个东西主要有什么用呢?在递推的时候可以方便地将带有 \((m + k)^n\) 的式子用 \(m^n\) 来表示。
嗯嗯就是这样。
- 单位根反演
哎我草 Mobius 繁衍是啥来着。哦哦是算某个东西是不是 1 的。
首先单位根是什么复习一下啊,就是一个复数,全体 n 次单位根在复数平面上将单位圆 n 等分。
更形式化的表述是 \(\omega_{n}^{k} = \cos\frac{2k\pi}{n} + i \sin\frac{2k\pi}{n}\) 。不会弧度制的可以参考前面的多项式入门里面 DFT 部分提了一嘴。
反演式子很简单:
证明的话也不难。如果不整除的话相当于是一个剩余系也就是一整个单位圆的等分,把每项都理解成向量,可以抵消掉。如果整除的话每个 \(\omega_{n}^{ik}\) 都是 \(1\) 。
我最开始看到这个式子的时候是真的觉得没什么用,感觉把原来在实数域的东西扩展到了虚数域这不是更复杂了吗。
我们试试把这个东西代入多项式呢。
假设我们有并非封闭形式的收敛形式幂级数 \(f\) ,并且我们知道其封闭形式,要求其第 $0, n, 2n, \dots $ 项系数之和。
写出来式子(这里直接用多项式下标表示系数了):
相当于我们把所有的 n 次单位根代进封闭形式的积分去求和,全部加起来再除以 \(n\) 就大功告成了。
这玩意在 gf 里面很好用,或者是主要用于 gf 。
哦哦哦生成函数。
- 生成函数
???
比赛
不是我在打什么。T2 是很典的树上问题啊,一眼就该知道和直径有关的。
上周讲课不是才提到了把直径中点/边拉出来作根吗,这还是树上最长路径问题,题目描述都直接呼脸上了,你在干什么啊啊啊啊啊!
T3 并不难。稍加思考就应该保底 50pts 的。但是没时间了,T2 写了个貌似是错误的 n^2 ,挂掉了 52pts 。
感觉策略太保守了,T2 应该再开动脑筋想一想,正解其实并不难写,也很好理解。

浙公网安备 33010602011771号