原创 ACM圖論模板(更新ing...)

1、 最短路算法 Bellman-Ford算法 Dijkstra算法 SPFA算法 Floyd算法 被氣死的WA 2、最小生成樹算法 Prim算法 Kruskal算法 被氣死的WA 1、單源最短路(Bellman-Ford

原创 ACM數據結構模板(更新ing...)

並查集 KMP算法 樹狀數組 線段樹 莫隊算法 1、並查集 描述: 一種用來管理元素分組情況的數據結構。並查集可以高效的進行如下操作: 查詢元素a和元素b是否屬於同一個數組。 合併元素a和元素b所在的組。 代碼: // 並

原创 Codeforces Round #538 (Div. 2)

A. Got Any Grapes? 煎蛋的談心… #include<iostream> #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> u

原创 石子合併(經典區間dp)

[題目]: n堆石子擺成一條線。現要將石子有次序地合併成一堆,規定每次只能選相鄰的2堆石子合併成新的一堆,並將新的一堆石子數記爲該次合併的代價。計算將n堆石子合併成一堆的最小代價。 [普通解法]: 狀態轉移方程:f(i,j)=min{

原创 Poj-2480 Longge's problem

[思路]: 題目給出整數n,對從111到nnn的每個數iii,要求計算gcd(i,n)gcd(i,n)gcd(i,n)的和。 首先,在從111到nnn的每個數中,所有與nnn互素的數xxx的個數nnn的歐拉φφφ函數φ(n)φ(n)φ

原创 [markdown]添加數學符號/公式

感謝以下博主寫的精彩博客,orz! markdown數學符號整理 — 木盞 markdown 輸入數學符號 — xingxinmanong

原创 ACM數論模板(更新ing...)

埃氏篩法 歐拉篩法 拓展/歐幾里得 同餘方程 同餘方程組 歐拉函數 快速冪 矩陣快速冪 博弈論 1、埃氏篩法 思想: 對於不超過n的每個非負整數p,刪除2p,3p,4p…當處理完所有數之後,還沒有被刪除的就是素數。其時間複雜度

原创 Zoj-3609 Modular Inverse

[思路] 拓展歐幾里得求模逆元模板題,注意求的是最小非負整數,結果爲0時,要加上m。 方程a*x≡1(mod m)的通解爲:x=x0+k*m 每個解都是模m同餘的,先求到一個特解,一頓操作(x%m+m)%m即可即可求到最小值。 #in

原创 Poj-2115 C Looooops

[題解]: 拓展歐幾里得求解一元線性同一方程模板題,剛開始學,比着解析求出了方程的一組解,想着要怎麼求出最小非負整數解吶?實在是想不出來,各種博客看看,對一元線性同餘方程有了進一步的認識。 感謝konjac蒟蒻大佬寫的博客~ #inc

原创 Light oj-1306 Solutions to an Equation

[經典題目]: 給出方程ax+by+c=0,求出有多少對整數解(x, y),滿足x1≤x≤x2,y1≤y≤y2。 [思路]: 首先,對方程ax+by+c=0,討論其特例。 [1] 如果a=0,b=0,並且c≠0,則無解。如果a=0,b

原创 Poj-2773 Happy 2006

[思路]: gcd(b*t+a,b)= gcd(a,b)(t爲任意整數) 如果a與b互素,則b*t+a與b也一定互素,如果a與b不互素,則b*t+a與b也一定不互素。故與m互素的數對m取模具有週期性,則根據這個方法我們就可以很快的求出

原创 Poj-4001 Xiangqi

徐州礦大冬令營第一天訓練題,寫的簡直要吐血,一開始寫了半下午,晚上看了題解找bug找了兩個多小時…最後竟然多寫了一個=…啊啊啊啊啊啊!!! [題解]: 首先,判斷黑方的將是不是可以直接以“飛將”的方式將死紅方。如果黑方不能直接將 死紅

原创 CF#553 C. Ayoub and Lost Array

[好評] 簡單的dp題目,類似於hdu一道滑稽樹上掉滑稽果,求人在滑稽樹下移動接到最多滑稽果的數量。只是這道題題意沒有那麼顯然,dp菜菜,想了好久~ #include<iostream> #include<cstdio> #inclu

原创 Uva-791 Minimum Sum LCM

紫書題解:設唯一分解式:n=a1p1*a2p2…,不難發現每個aipi 作爲一個單獨的整數時最優。 注意點:1.n=1時  2.n本身爲質數時  3.n只有一個因子時  4.n有兩個因子以上時。 <自己思路不夠清晰,太急於求成,寫了很

原创 Uva-10375 Choose and divide

題意:已知C(m,n)=m!/(n!(m-n)!),求C(p,q)/C(r,s)。(p≥q,r≥s,p,q,r,s≤10000) 首先,求出10000以內的所有素數primes,然後用數組e表示當時結果的唯一分解式中的各個素數的指數。