原创 【動態規劃 記憶化搜索】JZOJ_6287 扭動的樹

題意 給出nnn個節點&lt;key,val&gt;&lt;key,val&gt;<key,val>,其中鍵值爲keykeykey,權值爲valvalval,用它們建一顆BSTBSTBST,且保證任意一條邊的兩個節點的gcdgcd

原创 【數學 組合計數 中國剩餘定理 歐拉定理】luogu_2480 BZOJ_1951 古代豬文

題意 給出n,q(1≤q,n≤109)n,q(1\leq q,n\leq 10^9)n,q(1≤q,n≤109),計算q∑d∣nCnd mod 999911659q^{\sum_{d|n}C^{d}_{n}}\ mod\ 9999

原创 【動態規劃 樹】JZOJ_3738 理想城市

題意 在一個方格圖上有若干個小格,其中滿足小格互相連通,且不是空格也互相連通。 求小格兩兩之間的最短路的總和。 思路 暴力303030分很好打,但是後面枚舉小格一定是O(n2)O(n^2)O(n2)的,所以我們考慮別的做法。 根據

原创 【最短路】JZOJ_6286 走格子

題意 給出一個方格圖,裏面有若干牆,求起點走到終點的最小代價。 有333個操作: 1、移向相鄰的格子(上左下右)耗費1代價。 2、向上下左右一個方向發射傳送門,傳送門將會在這個方向碰到的第一個牆生成。最多存在2個傳送門,第3個傳送

原创 【數學 擴展歐拉定理】luogu_4139 上帝與集合的正確用法

題意 求222... mod p2^{2^{2...}}\ mod\ p222... mod p 思路 設f(p)=222... mod pf(p)=2^{2^{2...}}\ mod\ pf(p)=222... mod p 根據

原创 【數學 lucas定理】luogu_3807 盧卡斯定理

題意 求Cn+mm mod pC_{n+m}^{m}\ mod\ pCn+mm​ mod p,其中ppp是質數。 思路 LucasLucasLucas定理: Cnm mod p=Cn%pm%p∗Cn/pm/p mod pC_{n}

原创 【數學 擴展中國剩餘定理】luogu_4777 擴展中國剩餘定理 POJ_2891 Strange Way to Express Integers

題意 給定a,ba,ba,b 求{x≡b1(mod a1)x≡b2(mod a2)x≡b3(mod a3)...x≡bn(mod an)\left\{\begin{matrix}x\equiv b_1(mod\ a_1) \\ x

原创 【數學 乘法逆元】luogu_5431 乘法逆元2

題意 給出nnn個數AAA,和一個kkk,求: ∑i=1nkiai\sum_{i=1}^{n}\frac{k^i}{a_i}∑i=1n​ai​ki​ 思路 看起來就是若干個分數相加,我們可以通分得到: ∑i=1nki(s/ai)s

原创 【數學 擴展歐幾里得】luogu_1082 同餘方程

題意 求關於xxx的同餘方程ax≡1(mod b)a x \equiv 1 (mod\ b)ax≡1(mod b)的最小正整數解。 思路 對於方程ax≡b(mod m)a x \equiv b (mod\ m)ax≡b(mod m

原创 【矩陣乘法】JZOJ_6275 小L的數列

題意 思路 很容易發現fnf_nfn​一定爲fici(1≤i≤k)f_i^{c_i}(1\leq i \leq k)fici​​(1≤i≤k)的乘積,我們只用求出cic_ici​也就是指數就好了。 用resires_iresi​

原创 【數學 裴蜀定理】luogu_4549 裴蜀定理

題意 給出nnn個數AAA,求一組整數XXX,使X1A1+...XnAnX_1A_1+...X_nA_nX1​A1​+...Xn​An​最小,求這個最小值。 思路 裴蜀定理: 關於不定方程ax+by=cax+by=cax+by=c

原创 【數學 中國剩餘定理】POJ_1006 Biorhythms

題意 求{x≡a(mod 23)x≡b(mod 28)x≡c(mod 33)\left\{\begin{matrix}x\equiv a(mod\ 23) \\ x\equiv b(mod\ 28) \\ x\equiv c(mo

原创 【數學 乘法逆元】luogu_3811 乘法逆元

題意 給出n,pn,pn,p,求1∼n1\sim n1∼n中模ppp意義下的乘法逆元。 思路 假設已經求出[1,a−1][1,a-1][1,a−1]的逆元,現在求aaa的逆元。 設k=⌊pa⌋k=\left \lfloor \fr

原创 【數學 擴展歐拉定理】luogu_5091 歐拉定理

題意 求ab mod ma^b\ mod\ mab mod m 思路 因爲bbb很大所以不能直接算,這要用到擴展歐拉定理: 當a,m∈Za, m \in \mathbb{Z}a,m∈Z時有: ab≡{ab ,b&lt;φ(m)ab

原创 【數學】SSL_1335 蛋糕切割

題意 給一個n∗mn*mn∗m的矩形,求對角一刀切能切到的格子數。 思路 當我打了O(n)O(n)O(n)的算法後,發現顯然的結論!!! 當n,mn,mn,m互質時,答案爲n+m−1n+m-1n+m−1。 不互質時,我們可以分成若