原创 codeforces 46D Parking Lot(線段樹模擬區間管理 or set模擬)

題意: 可以看成是 poj Hotel 那道題的加強版。 這裏是找車位,還要考慮與前後車之間的距離。。 不過這裏n只有100,用set,就成了水題啊。。。 思路: 1) 線段樹 比起 Hotel 也就是多討論幾種情況吧。

原创 codeforces 154C Double Profiles (簡單圖論+哈希)

題意: 給一個無向圖,定義pair(u, v),使得任意k(k != u, v),k到u,v都有邊或者k到(u,v)都不存在邊 求這樣的無序對數目。 思路: 對點u,讓它的相鄰點集爲S(u), 不包括u 對於pair(u

原创 hdu 4630 No Pain No Game (區間gcd相關x線段樹or樹狀數組)

題意: 給定1-n的一個排列。 在一段區間,找兩個位置不同的數,使得gcd最大。 思路: 因爲給的序列很特殊。 首先容易想到,對1-n每個數作爲約數維護一個狀態。 把序列中x的倍數,按原來的位置,過濾出來。 對一個詢

原创 uva live 5031 Graph and Queries(Treap x 並查集)

題意: 。。。 同樣收錄在 HDU 3726,不過hdu貌似有時候 re 會報 wa,不方便調錯。。 思路: 教科書題。。 用來練 Treap 模板很合適 嘗試寫了幾發GC, 用stack來裝指針。。發現效率都不是很高。

原创 poj 2985 The k-th Largest Group (並查集x全局動態第k大)

題意: 。。。 思路: 用一個數據結構來存所有樹的大小,合併操作先消去舊的再插入新的大小。 可以用 treap, BIT等等。。 這裏有個樹狀數組 O(logn) 查詢的方法,沒能看懂。。 const int N =

原创 傳送門2號 - 算法 x C++

算法資源 topcoder題解 http://apps.topcoder.com/wiki/display/tc/Algorithm+Problem+Set+Analysis TopCoder算法教程 https://www.top

原创 【總結】lucas 定理 + 中國剩餘定理

先上學習資料: Lucas’ Theorem 中國剩餘定理 Chinese Remainder Theorem 組合數取模 - ACdreamer lucas 定理用來計算組合數模素數。如果素數P可以先確定,則可以O(P) 預處理,

原创 [Python]學習裝飾器語法

閱讀材料 https://www.python.org/dev/peps/pep-0318/ http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac

原创 [Python]學習Celery

文檔: http://docs.celeryproject.org/en/latest/userguide/workers.html#stopping-the-worker 筆記: Celery 對名字空間有較爲嚴格要求,應該採用類似

原创 hdu 2476 String painter(區間DP)

題意: 給A,B兩個串,|A| = |B| 一次操可以把 A 的一個字串刷成同一種字符。 求最少多少次操作可以把 A 變成 B。 思路: 很經典的一道區間DP。。 首先觀察到,如果 B[i]=B[j] ,那麼 i, j 可以由

原创 【算法筆記】並查集小結

並查集最樸素的用法就是用來維護連通性。 然後可以用在 Kruskal 算法中求 MST。 並查集還可以維護更多信息~~ 1)加上順序 poj 1456,需要找 1 - i 格子中最靠右的空格。 讓每個節點的根代表往左找到的第一個空

原创 POJ 1741 Tree (樹分治入門)

參考: 分治算法在樹的路徑問題中的應用 - 漆子超 http://www.cnblogs.com/kuangbin/p/3454883.html http://www.cnblogs.com/staginner/archive/20

原创 hdu 5442 Favorite Donut (最小表示法 or 後綴數組)

題意: 給一個字符串,正向找一遍循環最小,逆向找一遍循環最小。 然後把兩個最小根據下標關係,取一個答案。。 思路: 這道題用 後綴數組 很好解決。 但是,還有個更適合的方法,最小表示法算法。 最小表示法 - 周源 PPT 這是

原创 codeforces 576B Invariance of Tree (觀察)

題意: 。。。 思路: 嘗試把排列分解成若干個環。 然後就會發現如果在環中連了一條邊,最終整個環就會被連上。 所以有以下結論 1)如果有大小爲1的環,即置換後不變的點,把其他點全部連在這個點上。 2)剩下的環中,如果存在奇環

原创 eu in haskell

本文的內容: 通過 euler project 題目的 haskell 解法來學習這門語言。 代碼來自 eu forum, haskell wiki,stackoverflow等等。 一些 haskell 學習資料: http