About & Ideas & Queries


About

Blog主現高一,文化課和OI啥都不會

本Blog主太懶,所以很多內容都縮在一個文章里,如數學、圖論大禮包

https://wenku.baidu.com/view/56d76029647d27284b735158.html


Ideas

  • 看一個結論: \(n=0,n=1\)的時候顯然成立

\(n\geq2\)時,假設\(n-1,n-2\)都成立,則:\(\sum_{i=k}^n\tbinom{i}{k}=\tbinom{n}{k}+\sum_{i=k}^{n-1}\tbinom{i}{k}=\tbinom{n}{k}+\tbinom{n}{k+1}=\tbinom{n+1}{k+1}\)
update:底下評論里的AH隊長why執政 指正要把n=k提出來

  • \(O(\sum_{d|n} d^{0.5})=O(n ^{0.5 + \epsilon})<O(n^{0.75})\)

  • \(x | \frac{n}{y} \Longleftrightarrow y | \frac{n}{x}\),證明顯然,然而沒想到用

  • \(\gcd(a^m - b^m, a^n - b^n)=a^{\gcd(m, n)} - b^{\gcd(m, n)},\gcd(a,b)=1\)

  • 一個重復2次的子串長度2L,一定包含s[1], s[1 + L], s[1 + 2*L],...,中的某相鄰兩項

  • 兒子的值對父親有貢獻,考慮樹剖

  • 線段樹歸並建樹可以處理出對於每個x,左右兒子最大的<=x的樹的多少,這樣可以詢問時可以O(1)轉移,是二維數點常用技巧

  • 對於LIS可以考慮差分前綴maxf數組,或是記錄二分LIS的單調棧(狀壓技巧)

  • 對於排列問題一種考慮方式是從1~i推到1~i+1

  • 區間dp的種種套路:比如斷成2個區間考慮,比如考慮去掉最后一個點(或塊)

  • 一種線段樹求全局答案的方法:結點只保存完全在區間內的操作,其他操作在祖先處考慮(如掃描線區間覆蓋)

  • s個[0,mod]的隨機變量max的期望是mod/(s+1)*s

  • \(a-b \leq a \text{ xor } b\)

  • \(a>b,\gcd(a, b)\leq a - b\)

  • 二維曼哈頓距離最小生成樹:考慮一個45度區域里只有一個最近需要連邊。樹狀數組優化即可。

  • 在01trie上解決一類問題:每次把當前集合划分成第k位是0和1的兩個集合,遞歸到k-1位去做再考慮合並(叫二進制分組?)

  • 一個二維問題無法下手,考慮行列分開,可能行列是獨立的。

  • \(m\)為最大數,\(c\)為不同數字個數;一種\(O(n + mc)\)求嚴格LIS:\(f(i, j)\)表示前\(i\)個數以數字\(j\)結尾的LIS,然后這個可以把第一維滾掉。每次\(f(a[i])\)去刷\(f(a[i]+1)\)\(f(m)\)的值,遇到\(\geq f(a[i])\)就停。冷靜分析一下復雜度很對:\(f\)一共就\(c\)種取值,每種取值最壞把\(m\)個位置都覆蓋一遍。

  • 求若干個有序數組,每個數組選一個數然后加起來,求\(Kth\):兩兩合並。合並\(A,B\),先將\((a[1], b[i])\)入大根堆,每次取出(a[i], b[j])的時候再把\((a[i + 1], b[j])\)丟進去。

  • 計數dp時,考慮整體的加減和加入最小數;規定一個順序(從小到大)最后乘一下階乘。

  • 點分治:單調隊列按秩合並以優化復雜度

  • 模意義下無法開根號?擴域試試!

  • 據說\(Z=(a+bi)^n\)\(Z\)的共軛復數的\(n\)次方=\(Z\)\(n\)次方的共軛復數

證明:用\(Z'=a-bi\)表示\(Z=a+bi\)的共軛復數

先證一個結論:\(A’B‘=(AB)'\)。使用定義即可。

然后歸納,\(n=1\)顯然成立

假設\(n=k\)成立,即\((Z^k)'=(Z')^k\)

兩邊乘以\(Z'\)\((Z^k)'Z'=(Z')^{k+1}\)

再用一下上面的結論:\((Z^{k+1})'=(Z')^{k+1}\)

Q.E.D

  • \([i \bmod 2 = 0]=\frac{(-1)^i+1^i}{2}\)

  • 無向圖連通圖簡單環個數\(2^{m-n}\)。簡單環可以表示成任意基環xor(基環值任意生成樹,非樹邊與樹上路徑形成的環)。基環可以用dfs在\(O(n+m)\)時間里找到。

  • \(\lfloor \frac{a}{c} \rfloor +\lfloor \frac{b}{c} \rfloor \leq \lfloor \frac{a + b}{c} \rfloor\)

  • \(\prod (a_i !) \mid (\sum a_i)!\)

  • max樹上差分用左偏樹即可。或者反向倍增。

  • 樹形dp中u選fa必選可以考慮按dfs序dp

  • 拓撲標記:n到1分配,找出度為0最大點

  • 聽說隨機點集凸包上點個數的期望是\(O(\sqrt n)\)

  • 排列問題有時候可以用預支付思想。

  • 一個語法小trick:

struct cmp {
	bool operator () (const Node &a, const Node &b) const {
		return a.d < b.d;
	}
};
priority_queue<Node, vector<Node>, cmp> pq;
//用cmp排序,每次取最后一個 
  • \(d(n)=O(n^{\frac{1.066}{\ln \ln n}})\),int和ll以內約數個數最大分別為\(10^3\)\(10^5\)級別

  • 二維的某些問題考慮標號以2n為基(因為坐標差在-(n-1) 到 (n-1)之間),方便使用卷積。

  • 帶刪除堆:兩個priority_queue即可實現

  • 若給定多邊形不知順逆順序,通過符號是否相反來判斷凹凸,及點在多邊形內外。另外求點到線段距離西先求夾角大小。

  • \(n = \prod_{i = 1}^k p_i ^ {c_i}\)\(f(n) = \max(c_i), g=f*\mu\)

若存在\(c_i \not = c_j\),則\(g(n) = 0\)
否則\(𝑔(𝑛)=(−1)^{𝑘+1}\)

Queries

Q1

一個常見的方程\(ax+by=c\),現在擴歐求出特解\(x_0,y_0\),然后\(x=x_0-\frac{b}{(a, b)}t, y=y_0+\frac{a}{(a, b)}t\)

現在想找到一組解,在滿足\(|x|+|y|\)奇數的情況下,\(|x| + |y|\)盡可能小

題解做法是枚舉所有滿足\(| t | \leq 1 + \frac{c}{(a, b)}\)\(t\)。不知道為啥只要在這個范圍里枚舉。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM