原创 【BZOJ3131】淘金(SDOI2013)-數位DP+優先隊列

測試地址:淘金 做法: 本題需要用到數位DP+優先隊列。 令F(x,y)F(x,y)F(x,y)爲座標(x,y)(x,y)(x,y)上的黃金數目,那麼: F(x,y)=∑i=1n∑j=1n[f(i)=x]⋅[f(j)=y]F(x,y)

原创 【BZOJ4513】儲能表(SDOI2016)-數位DP

測試地址:儲能表 做法: 本題需要用到數位DP。 顯然地,我們可以把問題轉化成,計算滿足這些條件:i≤n−1,j≤m−1,(i xor j)≥ki\le n-1,j\le m-1,(i\space xor\space j)\ge ki

原创 【CF605C】Freelancer's Dreams-凸包

測試地址:Freelancer’s Dreams 題目大意: 有nnn項工作,每項工作有兩項屬性ai,bia_i,b_iai​,bi​,表示做111單位時間可以獲得aia_iai​的經驗和bib_ibi​的錢,現在要攢夠ppp的經驗和

原创 【BZOJ1432】函數(ZJOI2009)-思維

測試地址:函數 做法: 本題需要用到思維。 如果在xxx座標爲負無窮時,把函數從下到上編號爲111~nnn,那麼在向右掃時,一旦遇到一個交點,就表示交的這兩個函數上下位置進行交換。因爲每兩個函數間有且僅有一個交點,且不會有三個函數共點

原创 【BZOJ1190】夢幻島寶珠(HNOI2007)-揹包DP+思維

測試地址:夢幻島寶珠 做法: 本題需要用到揹包DP+思維。 這道題看上去是一個裸01揹包,然而容量特別大,因此我們只能從其中唯一一個特殊條件入手:a⋅2ba\cdot 2^ba⋅2b形式的重量。 我們考慮把這些物品分階段來進行決策。我

原创 【LuoguP2576】夢幻摺紙(ZJOI2005)-思維

測試地址:夢幻摺紙 做法: 本題需要用到思維。 考慮最後折出來的正方形,從上到下的各層中,有可能有兩層在前後側相連,也有可能有兩層在左右側相連。易知,無論怎麼折前後側的相連都不會成爲左右側,這啓發我們分開判斷兩維是不是成立。 要判斷某

原创 【BZOJ1483】夢幻布丁(HNOI2009)-鏈表+啓發式合併

測試地址:夢幻布丁 做法: 本題需要用到鏈表+啓發式合併。 首先,注意到顏色的段數等於,相鄰的顏色不同的元素對數+1+1+1,而一對元素一旦顏色相同就不可能再變成不同,因此我們在改變顏色的時候,只要找到這個顏色的元素周圍有沒有修改後就

原创 【LuoguP4934】禮物(LGR-054)-Dilworth定理+優化建圖+拓撲排序

測試地址:禮物 做法: 本題需要用到Dilworth定理+優化建圖+拓撲排序。 對位運算感覺比較敏銳的話,可以看出,a&ba\&ba&b這個東西要麼比a,ba,ba,b都小,要麼就說明a,ba,ba,b中有一個在二進制

原创 【LuoguP3616】富金森林公園-線段樹

測試地址:富金森林公園 做法: 本題需要用到線段樹。 一道好題,不看題解乍一下真的不知道怎麼做… 我們考慮直接維護水面在高度iii時能看見的連續段數cnt(i)cnt(i)cnt(i),考慮一塊石頭高度的增減對cntcntcnt的影響

原创 【BZOJ3202】項鍊(SDOI2013)-數論+組合數學綜合

測試地址:項鍊 題目大意: 用n(≤1014)n(\le 10^{14})n(≤1014)個珠子串成一個環形項鍊,每個珠子是正三棱柱,每一面上寫一個111 ~ a(≤107)a(\le 10^7)a(≤107)中的數字,當且僅當寫的三

原创 【CF622F】The Sum of the k-th Powers-拉格朗日插值

測試地址:The Sum of the k-th Powers 題目大意: 求∑i=1nik\sum_{i=1}^ni^k∑i=1n​ik對109+710^9+7109+7取模的值。 做法: 本題需要用到拉格朗日插值。 容易看出(或者

原创 【LuoguP4926】倍殺測量者-二分答案+差分約束+判正環

測試地址:倍殺測量者 做法: 本題需要用到二分答案+差分約束+判正環。 對於第一種flag,用不等式表示:如果滿足xA≥(k−T)xBx_A\ge (k-T)x_BxA​≥(k−T)xB​就不用女裝;對於第二種flag,用不等式表示:

原创 【BZOJ1146】網絡管理(CTSC2008)-樹狀數組+主席樹

測試地址:網絡管理 做法: 本題需要用到樹狀數組+主席樹。 經典的帶修改樹上路徑第kkk大問題,不過我太菜了居然忘了有樹上主席樹這個東西… 不帶修改的話能用樹上主席樹做,那麼帶修改怎麼辦呢?因爲一次修改會影響一棵子樹上的所有線段樹,所

原创 【LuoguP4927】夢美的線段樹-線段樹

測試地址:夢美的線段樹 做法: 本題需要用到線段樹。 經過簡單的計算,題目所求的是: ans=∑sumi2sum1ans=\frac{\sum sum_i^2}{sum_1}ans=sum1​∑sumi2​​ 於是我們現在要求的就是∑

原创 【BZOJ1414】對稱的正方形(ZJOI2009)-Manacher+RMQ

測試地址:對稱的正方形 做法: 本題需要用到Manacher+RMQ。 首先,我們想到枚舉正方形的對稱軸,求對稱軸交點爲某個點時的最大正方形大小。爲了方便,我們模仿Manacher算法,把矩陣用000擴充成一個(2n+1)×(2m+1