原创 SPOJ GSS7 && Vijos1620 【LCT】

題意:給定一棵有點權的樹。 支持操作: 1.修改(u,v)這條路徑上的點權 2.詢問(u,v)這條路徑上的連續的點權的最大值。 這道題應該可以用樹鏈剖分做。不過鑑於我正在學LCT那就用LCT好了~ 應該算是比較裸的LCT了吧。維護lma

原创 BZOJ2326: [HNOI2011]數學作業【矩陣加速遞推】

我會告訴你們我發這題解是騙積分? 哎真是弱。。囧。。   觀察一下就可以得到一個很煞筆的遞推式:(k就是n的位數) 既然n已經大到了10^18。那我們果斷考慮矩陣。 開始構造矩陣。 因爲k是會變得。那根據位數分類算。k=1:n=1~9;k

原创 Vijos1459 車展

點擊進入原題 題意:給定一個序列。要求對一個區間的數進行如下操作:把i~j這段數字全部設爲,使得代價最小。每次操作後,數列恢復成原始狀態。求所有操作的最小代價和。 序列長度爲,操作數量。   首先我們來考慮一下應該如何選取。方便起見,我們

原创 BZOJ題目分類【數據結構】

隨便整理了一下。 treap BZOJ1862: [Zjoi2006]GameZ遊戲排名系統 treap BZOJ1208: [HNOI2004]寵物收養所 splay BZOJ2209: [Jsoi2011]括號序列 splay BZ

原创 BZOJ1500: [NOI2005]維修數列 && SPOJ-GSS6 【Splay】

早已膜拜過這等數據結構神題。一直沒下定決心做。於是今天終於下定決心要把它A掉。   14:39 我要把這道題搞出來! 以前看到這道題的時候一直糾結建樹的時候都是按下標建的。可是現在中間會插入刪除,下標沒法存了腫麼破。 結果其實從根下去根據

原创 TopCoder SRM578 Div.2

既然開通了這個博客就先隨便寫點好了。   本人第二次刷TC。上次很不爽的只做出第一題。第二題來不及了。/_\。結果還升到Div.1了。肯定被虐。所以我用這個號再從零開始。   9點10分題目出現了。打開第一題。   250p: 題意:N個

原创 ZOJ2334-Monkey King【二項堆】

這道題網上一搜全是左偏樹。囧。因爲某天我nc的打開算導看起了二項堆,然後隱隱約約看會了。然後就發現不用二項堆寫這道題就不舒服了。囧。 搜到一個用二項堆寫的。結果是p黨。代碼冗長。不忍直視。果斷ctrl+w放棄。最後無奈只能在算導的薰陶下自

原创 BZOJ1697: [Usaco2007 Feb]Cow Sorting牛排序【置換羣】

題意:給定一個無序序列。通過交換兩個數使之有序。花費是每次交換的兩個數的和。求最小花費。   我的第一道置換羣題目嘞。啊哈。 比如下面這個序列: 先找出置換環。先給原序列從小到大排序。得到目標序列。 從目標序列開始,1的在原序列的下標是

原创 BZOJ2342: [Shoi2011]雙倍迴文【Manacher】

題意: 記字符串A。A反轉過來是B。在給定的一個字符串裏找到最長的形如ABAB的子串。這個子串稱爲雙倍迴文。   考慮用Manacher算法。(不會的自行google即可呃) 首先每個字符之間加一個分隔符#。然後跑一遍Manacher得到

原创 Vijos1437 簡單的口令 【最小表示】

當做開始複習字符串了oh yeah。這道題明顯就是求字符串的最小表示。複習模板了! P.S.:這道題WA了好幾次。太坑爹了。一個字符串還分幾行讀入!!改過來就A了。   貼上模板: #include<iostream> #include<