這次比賽我做得一般般,主要問題是第三題空間超限,下次在用狀壓dp時要估計好空間。
t1:這題可以列舉切斷點,設切斷點前的和為s1,切斷點及切斷點後的和為s2,那麼如果這個切斷點是合法的,那麼切斷點及切斷點後的字首和都要大於等於s1,切斷點前的字首和都要大於等於-s2。至於判斷是否合法,可以用線段樹維護最小值。
t2:這題是dp。
因為最多只有四瓶水,所以我們設f[t][i][j][k][l]表示在第t天時距離下一次要喝第一瓶水還剩i天,第二瓶水還剩j天,以此類推。那我們要分情況討論。
設i,j,k,l中為0的的個數為z。
1、z=0則f[t][i][j][k][l]可以轉移到四瓶水都不喝,也可以轉移到喝其中一瓶水,但要錢夠才行。
2、z=1則f[t][i][j][k][l]可以轉移到去喝那瓶距離下一次要喝剩0天的水,但還是要錢夠才行。
3、z>1則不合法,無法轉移。
初始值為f[0][a[1]][a[2]][a[3]][a[4]]=q
t3:這題是狀壓dp。設f[i][j]表示當前選第i個點,選擇狀態為j的最長長度。轉移及求答案顯然。
下次做這種題時不要設選了前i個,要設為選了第i個,不然既有後效性又會超空間。
t4:在i1、x為a[j]>a[i]且a[k]>a[i]的方案數
2、y為a[i]則ans=x-y
那麼我們設mi[i]為第i個位置之前小於a[i]的數的個數,ma[i]為在第i個位置之後大於a[i]的數的個數,那麼ans=sum(ma[i]*(ma[i]-1)/2-mi[i]*ma[i])(1<=i<=n)
至於ma與mi,可以用線段樹來維護。
2017 3 18 NOIP提高組 模擬賽B組小結
小結 這次做的完全沒有深度,全是暴力分別50 n 2 0 不會 40 遞迴暴力 40 n 2優化 130 發揮不太好,畢竟只拿了2小時左右來做題,剩下時間都用來去腐作業和 了。t1 給你一堆數組成乙個環,在j處斷掉,使得任意前i個數的和 0,問有多少個滿足的j 考試 列舉j,i,判斷 正解 複製一遍...
NOIP提高組 矩陣
在麥克雷的面前出現了乙個有n m個格仔的矩陣,每個格仔用 或 表示,表示這個格仔可以放東西,則表示這個格仔不能放東西。現在他拿著一條1 2大小的木棒,好奇的他想知道對於一些子矩陣,有多少種放木棒的方案。因為棍子是1 2的,所以很容易就能發現,兩個被分割的塊,除了跨越兩個塊擺放木棍的方案數會對答案有影...
NOIP提高組2005 過河
過河 river 問題描述 在河上有一座獨木橋,乙隻青蛙想沿著獨木橋從河的一側跳到另一側。在橋上有一些石子,青蛙很討厭踩在這些石子上。由於橋的長度和青蛙一次跳過的距離都是正整數,我們可以把獨木橋上青蛙可能到達的點看成數軸上的一串整點 0,1,l 其中l是橋的長度 座標為0的點表示橋的起點,座標為l的...