2.15
上午计算几何,下午多项式
讲了求凸包,直径,旋转卡壳,半平面交,都是计算几何比较基础的,但是依然难入门
多项式有拉格朗日插值,fast fast tle 和 nan tan tan
FFT求的是多项式乘法,并且多项式次数都是2的次幂,不够就硬补0
给你几个x,往多项式里代,最终求粗来的对应关系可以表示一个多项式
也就是点值表示法
平常求多项式乘法就是n方的,慢但是直观
但是它还有一个很有趣的性质
那就是如果给出的是点值表示法,并且两个多项式的x分别对应相等,那么把y对应相乘,就能$ O ( n ) $的获取乘积的点值表示法
FFT就是解决这个而生的,总体nlog
nlog求值,n求点值乘法,olog插值
求值的时候代入的是wn的0次方到n-1次方
把多项式按照次幂奇偶分成两个序列a1a2
加起来变成a,a=a1(x^2)+x*a2(x^2)
其中a2的系数是从a2里提出来的
那么a1和a2仅仅是展开形式后的系数不同了
就有a=a1(wkn/2)+a2(wkn/2)*wnk
递归求解
FFT有个迭代优化,防止MLE,就是每次重复利用内存,按照顺序存储
NTT就是把FFT所求的单位根(w) 换成逆元就行
上午凸包旋转卡壳大体就是一点一点确定
半平面交用dq维护点/边,每次更新缩小范围,弹旧边压新边。
总的来说思想都懂,代码写不出来=_=

浙公网安备 33010602011771号