原创 BZOJ1048

傳送門:BZOJ1048 記f(i,j,k,l,n)爲以點(i,j)爲左上角,點(k,l)爲右下角,需要分成n塊的矩形能得到的最少的∑q=1n(Si−μ)2 然後就是傻逼記搜。 AC之後的吐槽:把標準差求錯了臥槽。 代碼上的

原创 BZOJ1042

傳送門:BZOJ1042 首先,計算出購買面值爲i的物品的方案數f(i),這一步強制有序就可以了。 然後,每一次查詢時ans=(f(s)-d1溢出方案-d2…+d1d2+d2d3+…-d1d2d3….+d1d2d3d4),即容斥

原创 BZOJ1071

傳送門:BZOJ1071 枚舉minH,minV,單調性優化+計不可行方案數即可。 代碼上的細節較多。 代碼上的小細節見下。 #include <cstdio> #include <cstring> #include <iost

原创 BZOJ1045

傳送門:BZOJ1045 結論題。 設i順時針傳給下一個人的數量爲xi,目標平均值值爲ave 則目標就是讓ai−xi+xi−1=ave的前提下最小化∑i=1n|xi| 可以構造出 a1−x1+x2=ave a2−x2+x3

原创 BZOJ1037

傳送門:BZOJ1037 令f(i,j,k,l)表示區間[1,i]中有j個男生,包含在[1,i]中的區間中最多的男女生差距爲k,最小的爲l的方案數,轉移則有 f(i+1,j,max(k−1,0),l+1)+=f(i,j,k,l)

原创 BZOJ1059

傳送門:BZOJ1059 有趣的題目。 做法是二分圖完美匹配,其實看到題就可以隱約猜到是把行和列連邊。 建圖方法是把黑點(i,j)的行i向列j連一條邊,這顯然是一個二分圖模型,判斷有無完美匹配即可。 看上去很符合直覺,下面我來展示它的嚴謹

原创 常係數線性遞推式的快速求單項值方法

常係數線性遞推式的快速求單項值方法 前導知識 常係數線性遞推式 形如f(n)=∑ki=1aif(n−i) ,其中k 、ai 爲常數的遞推式,稱爲常係數線性遞推式。 Cayley-Hamilton定理 對於矩陣A ,det(λE−A

原创 線性基導論

Definition 以非負整數集S 中元素爲向量,異或爲加法,{0,1} 爲數域生成的線性空間V的一組基Q ,滿足Q 中二進制下最高非零位爲k的向量不存在或唯一,稱爲S 的線性基。 algorithm 我們只需要使用Gauss消元求

原创 搬家惹

雖然這個博客一直沒有什麼人看,但我還是想道個別。 真是矯情。 之後我會到lofter去寫題解。 新主頁 大家,再見啦。

原创 BZOJ1055

傳送門:BZOJ1055 傻逼題,然而我居然連狀態定義都沒有想出來。 記f(i,j,k)表示[i,j]的字符能否由k字符擴展來,轉移就是怎麼暴力怎麼來 我覺得我要擺脫題解依賴了……必須擺脫! 代碼上的小細節見下。 #include <c

原创 Splay的時間複雜度的一種證明

在這裏,我們給出勢函數(potential function)的定義,並展示如何通過勢函數給出Splay操作的均攤時間複雜度的一個上界,儘管這上界並不是緊的。 勢函數Φ 定義爲數據結構到實數集的一個映射。 在這裏,我們假設勢函數Φ

原创 BZOJ1053

傳送門:BZOJ1053 我喜歡數學題,我討厭結論題…… 約數個數定理: 記Φ(p)爲p不平凡的約數的個數,對∀q∈N∗,q>1,作Lagrange分解q=∏pa,則Φ(a)=∏(a+1) 對於這道題,我們會注意到a應是隨p遞減的,

原创 BZOJ1060

傳送門:BZOJ1060 有些意思的樹形DP。 我只想到了用f(i,j) 表示以i爲根的子樹的權值之和爲j的最小花費,但我沒有想到這個j居然是可以貪心從而藏進去的…… 注意到有以下事實成立:在靠近根的節點使用技能更優秀。 於是貪心即可,我

原创 BZOJ2773

傳送門:BZOJ2773 以y爲key建樹,維護最大值,樹上二分即可。 吐槽一下學校評測機,我艹我在bzoj上AC的代碼T完了。 代碼上的小細節見下。 #include <cstdio> #include <cstdlib> #inclu

原创 BZOJ1052

傳送門:BZOJ1052 傻逼題。 二分一個長度,注意到每次正方形必然落在某個角上,枚舉判斷即可。 好久不見的1A…… 代碼上的小細節見下。 #include <cstdio> #include <cstdlib> #include <c