学习手记(2021/3/19~?)
上一篇有點多就開新的了
文章目錄
- 樹哈希
- wqswqswqs二分
- 單位根反演
- 威佐夫博弈
- 范德蒙德行列式
- BEST定理
- 平面圖歐拉定理
- FWT轉移矩陣的推導
- 保序回歸
- 一些數學小結論
- 范德蒙德卷積
- 乘轉加卷積
- 斐波那契前綴和
- 杜教篩+μ\muμ
- 單冪轉下降冪
- 下降冪X組合數
- 其他小技巧
樹哈希
額方法很多隨便找個都可以用,是有根樹的,無根樹的哈希要換根加個數據結構。
fx=∑y∈sonxfy×P(sizy)f_x=\sum_{y\in son_x}f_y\times P(siz_y)fx?=y∈sonx?∑?fy?×P(sizy?)
P(x)P(x)P(x)是一個不重的函數就行來,可以用pxp^{x}px,第xxx個質數或者ωnx\omega_{n}^xωnx?都可以。
或者
fx=sizx×∑y∈sonxfyP(i)f_x=siz_x\times\sum_{y\in son_x}f_yP(i)fx?=sizx?×y∈sonx?∑?fy?P(i)
不過這個的fyf_yfy?需要按照大小排序(不然就是有序的兒子了)
wqswqswqs二分
一種二分斜率的方法。
對于一個有限制的凸函數問題(求最大值但是斜率不斷減小,或者求最小值但是斜率不斷增大),我們不知道這個凸函數但是我們可以設一條直線y=kx+by=kx+by=kx+b與這個函數相切。
然后當y=kx+by=kx+by=kx+b且到我們要求的點的時候就是答案了。
主要的難點在于確定凸函數的定義和二分kkk的時候如何求出bbb的最值。
需要特別注意的一點就是wqswqswqs最后二分出來的結果求得的并不一定是合法的方案,可能是與合法方案答案相同的(也就是這個凸函數恰好切到一段斜率與二分相等的位置)。
常見的凸函數問題:
- 背包限制問題
- 最小生成樹限制問題
- 費用流模型問題
單位根反演
補一下上個手記剩下的
[k∣n]=1n∑i=0n?1ωni×k[k|n]=\frac{1}{n}\sum_{i=0}^{n-1}\omega_{n}^{i\times k}[k∣n]=n1?i=0∑n?1?ωni×k?
一般和二項式定理套
威佐夫博弈
兩堆石頭可以選擇取走一堆或兩堆的相同個數,求是否先手必勝。
證明:設石頭個數a<ba<ba<b那么若?(b?a)×1+52?=a\lfloor (b-a)\times \frac{1+\sqrt 5}{2}\rfloor=a?(b?a)×21+5???=a則后手必勝,否則先手必勝。
范德蒙德行列式
對于矩陣FFF
∣x10x20...xm?10xm0x11x21...xm?11xm1...............x1n?1x2n?2...xm?1n?1xmn?1x1nx2n...xm?1nxmn∣\begin{vmatrix} x_1^0 & x_2^0 & ... & x_{m-1}^0 & x_{m}^0\\ x_1^1 & x_2^1 & ... & x_{m-1}^1 & x_m^1\\ ... & ... & ... & ... & ...\\ x_1^{n-1} & x_2^{n-2} & ... & x_{m-1}^{n-1} & x_{m}^{n-1}\\ x_1^{n} & x_2^{n} & ... & x_{m-1}^{n} & x_{m}^{n} \end{vmatrix}∣∣∣∣∣∣∣∣∣∣?x10?x11?...x1n?1?x1n??x20?x21?...x2n?2?x2n??...............?xm?10?xm?11?...xm?1n?1?xm?1n??xm0?xm1?...xmn?1?xmn??∣∣∣∣∣∣∣∣∣∣?
也就是Fi,j=xijF_{i,j}=x_i^jFi,j?=xij?時,
det?F=∏i<j(xj?xi)\det F=\prod_{i<j}(x_j-x_i)detF=i<j∏?(xj??xi?)
BEST定理
記歐拉圖GGG,記這張圖不同的歐拉回路數量為ec(G)ec(G)ec(G)那么有
ec(G)=troot(G,k)∏v∈V(deg(v)?1)!ec(G)=t^{root}(G,k)\prod_{v\in V}(deg(v)-1)!ec(G)=troot(G,k)v∈V∏?(deg(v)?1)!
其中troot(G,k)t^{root}(G,k)troot(G,k)表示圖GGG以kkk為根的外向樹數量
平面圖歐拉定理
記連通無向平面圖GGG點集VVV和邊集EEE還有區域個數FFF那么有
V+F=E+2V+F=E+2V+F=E+2
FWT轉移矩陣的推導
先定義最初始的矩陣c(i,j)c(i,j)c(i,j)表示FWT(x)[i]=∑j=0nc(i,j)xjFWT(x)[i]=\sum_{j=0}^nc(i,j)x_jFWT(x)[i]=∑j=0n?c(i,j)xj?
然后
FWT(A)[k]FWT(B)[k]=FWT(C)[k]FWT(A)[k]FWT(B)[k]=FWT(C)[k]FWT(A)[k]FWT(B)[k]=FWT(C)[k]
∑i=0n∑j=0nAiBjc(k,i)c(k,j)=∑i=0nCic(k,i)\sum_{i=0}^n\sum_{j=0}^nA_iB_jc(k,i)c(k,j)=\sum_{i=0}^nC_ic(k,i)i=0∑n?j=0∑n?Ai?Bj?c(k,i)c(k,j)=i=0∑n?Ci?c(k,i)
又有
Ck=∑ioptj=kAiBjC_k=\sum_{i\ opt\ j=k}A_iB_jCk?=i?opt?j=k∑?Ai?Bj?
∑i=0n∑j=0nAiBjc(k,i)c(k,j)=∑i=0n∑j=0nc(k,ioptj)AiBj\sum_{i=0}^n\sum_{j=0}^nA_iB_jc(k,i)c(k,j)=\sum_{i=0}^n\sum_{j=0}^nc(k,i\ opt\ j)A_iB_ji=0∑n?j=0∑n?Ai?Bj?c(k,i)c(k,j)=i=0∑n?j=0∑n?c(k,i?opt?j)Ai?Bj?
就有
c(k,i)c(k,j)=c(k,ioptj)c(k,i)c(k,j)=c(k,i\ opt\ j)c(k,i)c(k,j)=c(k,i?opt?j)
然后對于每個i,ji,ji,j分位考慮然后根據optoptopt的性質推出FWTFWTFWT的矩陣再求逆推出IFWTIFWTIFWT的矩陣就好了。
保序回歸
對于序列aaa,有一些形如ai≤aja_i\leq a_jai?≤aj?的限制,把xxx變為yyy的代價為∣x?y∣k|x-y|^k∣x?y∣k,要求使得代價和最小。
常用的方法:
玄題待補:
#6518. 「雅禮集訓 2018 Day11」序列
P5294 [HNOI2019]序列
一些數學小結論
范德蒙德卷積
∑i=0k(ni)(mk?i)=(n+mk)\sum_{i=0}^k\binom{n}{i}\binom{m}{k-i}=\binom{n+m}{k}i=0∑k?(in?)(k?im?)=(kn+m?)
乘轉加卷積
是乘轉加但是不完全是
n×m=(n+m2)?(n2)?(m2)n\times m=\binom{n+m}{2}-\binom{n}{2}-\binom{m}{2}n×m=(2n+m?)?(2n?)?(2m?)
斐波那契前綴和
∑i=1nfi=fi+2?1\sum_{i=1}^nf_i=f_{i+2}-1i=1∑n?fi?=fi+2??1
杜教篩+μ\muμ
怎么說是一個挺神奇的技巧吧就是因為μ?I=?\mu*I=\epsilonμ?I=?所以假設我們要求f?μf*\muf?μ的前綴和,然后f?μ?I=f??f*\mu*I=f*\epsilonf?μ?I=f??所以我們如果能快速的求fff的前綴和就可以快速的用杜教篩求f?μf*\muf?μ的前綴和。
具體的例子比如說斐波那契數列Fbi?μFbi*\muFbi?μ,和矩陣乘法配合能有奇效的樣子
單冪轉下降冪
設
f(x)=∑i=0naixi=∑i=0nbixi ̄f(x)=\sum_{i=0}^na_ix^i=\sum_{i=0}^nb_ix^{\underline i}f(x)=i=0∑n?ai?xi=i=0∑n?bi?xi?
根據
xn=∑i=0n{ni}xi ̄x^n=\sum_{i=0}^n\begin{Bmatrix}n\\i\end{Bmatrix}x^{\underline i}xn=i=0∑n?{ni?}xi?
得到
bi=∑j=in{ji}ajb_i=\sum_{j=i}^n\begin{Bmatrix}j\\i\end{Bmatrix}a_jbi?=j=i∑n?{ji?}aj?
時間復雜度O(n2)O(n^2)O(n2)
下降冪X組合數
下降冪轉組合數第二項
(nk)×km ̄=(n?mk?m)×nm ̄\binom{n}{k}\times k^{\underline{m}}=\binom{n-m}{k-m}\times n^{\underline{m}}(kn?)×km?=(k?mn?m?)×nm?
其他小技巧
- a+b=min?(a,b)+max?(a,b)=a∣b+a&ba+b=\min(a,b)+\max(a,b)=a|b+a\&ba+b=min(a,b)+max(a,b)=a∣b+a&b
- bitset的count是O(nω)O(\frac{n}{\omega})O(ωn?)的!!!
總結
以上是生活随笔為你收集整理的学习手记(2021/3/19~?)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: cf职业玩家电脑配置(cf职业电脑配置)
- 下一篇: 电脑更改配置器在哪里(电脑 更改 配置)