原创 塊狀樹(count)

原題:ZJOI2008 count 方法:塊狀樹 program count_trees;{$M 9999999} const maxn=30000+20; type link=^node; node=record x:longi

原创 智能車比賽

(NOI2011 智能車比賽) program car; const inf=1e49; type node=record x,y:longint; end; operator -(a:node;b:node)c:node;begi

原创 搜索 MAYAN

原題:NOIP 2011 MAYAN 類型:搜索 (小剪枝),不是很難 program mayan; type byte=integer; state=array[1..5,1..7]of byte; oper=objec

原创 一定不要想當然啊!!

我剛剛刷了能量項鍊 說也不難,可是我卻寫了三次才AC。 總結起來就是不要想當然。 我用記憶化DP本應該一次AC的,但是第一次沒有考慮 合併項鍊是將一列數合併成首尾兩個數,而直接合併成一個數,所以錯了 在我發現這個錯誤之後,我又寫了一遍,過

原创 HNOI 2010 彈飛綿羊

      這道題聽說要用splya做,但是我還不會寫,所以我找了找題解,最後找到用分塊原理做的。       代碼很簡潔,也很清楚。 (參考資料:http://blog.csdn.net/jasonzhu8/article/detail

原创 Hnoi 第一題 homework 題解

【題目大意】 求123456789101112131415……n構成的數mod m的值。 【基本思路】 我一開始用的是模擬,用一個字符串保存數字,再取模。這樣顯然超時,只能過一兩個點。 後來才知道是用動態規劃寫的,方程是P(i)=P(i

原创 HNOI2004 打磚塊

描述 Description    在一個凹槽中放置了n層磚塊、最上面的一層有n 塊磚,從上到下每層依次減少一塊磚。每塊磚都有一個分值,敲掉這塊磚就能得到相應的分值,如下圖所示。 14    15    4    3    23   

原创 花園 打表0.1秒AC

今天做了一道題,打表,花了幾個小時,當然最後0.1秒AC。 【題目描述】【大意】 有一個花園,可以看作3*3的格子 花園中有四種花,分別是Lv1,Lv2,Lv3,Lv4,每種花都有其價值(不保證單調遞增) Lv1的花可以任意種; Lv2的

原创 Splay(sequence)

原題:NOI 2005 維護數列 方法:單旋SPLAY program sequences;{$inline on}{start at 6:42} const maxn=500005; var l,r,w,s,sum,max,lm

原创 生日蛋糕問題 【最簡潔代碼】

生日蛋糕問題     剪枝  program cake; var v,m,r,h,ans,i:longint; mins,minv:array[0..30]of longint; function min(i,j:longint)

原创 做題之前一定要慎重思考!!

我今天寫了一個寬搜的題,寫了半天,最終修改了N次纔對。後來回頭一想,有更簡單的方法  用這麼一個玩意:a:=@b;然後a^實際上就是b這個數組了,在做高維DP的時候如果你寫個F【I,J,K,L,。。。。。。】估計程序會很恐怖,可以用這個來

原创 位運算 的適用範圍

  最近刷了幾道水題,有一個就是純數學題,最後算出公式爲 (4^x-1)/3 +1,於是我便用 shl優化乘方運算:(1 shl (x+x) -1)div 3 +1;   結果總是後面幾個點錯了,我用的是qword,可還是錯了。   然後

原创 1D1D動態規劃優化

原題:HNOI 玩具裝箱 方法:1D1D (模板) program toy; const     maxn=55000; var     s,f:array[0..maxn]of int64;     q:array[0..maxn]o

原创 SBT(pet)

原題:HNOI2004 寵物收養所 方法:SBT 維護 program size_balanced_tree;{$inline on} const maxn=80000; type point=^longint; var

原创 Splay(dispatching)

原題:APIO 2012 派遣 方法:splay 啓發式合併 program dispatching; const maxn=100000+100; type link=^node;node=record x:longint; n