這是一套很簡單的題目,估計頂多就提高組難度。可是四道題我只做了230多分,特地記錄一下這次的經驗和教訓。
s 是乙個長度至多
3000
的陣列,每個數在
0 到
9之間。記bi
,j=s
isj ,問
b 有多少個子矩陣的元素和為su
m。記c
ntx 為
s 有多少個區間元素和為
x。那麼答案就是∑d
|sum
cntd
cnts
umd
要注意如果su
m 是乙個完全平方數,則它的平方根只需要算一次而不是兩次。之所以其它的約數都被算了兩次是因為具有對稱性。而乙個長寬相等的玩意兒對稱過來還是它本身。同理su
m=0 時也要特殊處理一下。
感覺這一場就這一道題有一點點的難度。給出n
×m的矩陣
a ,記乙個r×
c的矩陣
m 是酷的,當且僅當m1
,1+m
r,c≤
m1,c
+mr,
1。稱乙個矩陣
m 非常酷當且僅當它的每乙個大小至少為2×
2的子矩陣是酷的。問最大的非常酷子矩陣的大小。
首先將原式移項,發現它的形式十分優美。 m1
,1−m
1,c≤
mr,1
−mr,
c 既然它要求每乙個子矩陣都是酷的,我們不妨先看2×
2 的矩陣。發現它實際上要求的是差分以後,下一行的元素不小於上一行的同位置元素。對於一整段下一行的差分都不小於上一行的差分的序列來說,我們可以發現可以直接推出每一段都是滿足酷的條件的。於是這道題思路就很清晰了。求出每一行前一項與後一項的差分以後,求乙個滿足下面的元素總是大於上面的元素的子矩陣就可以了。
具體做法就是求出差分矩陣di
,j=d
i,j−
di,j
+1然後求出up
x,y 表示從(x
,y) 這個位置向上,經歷的元素必須遞減,所能到達的最遠距離。
然後列舉一行,從左到右掃瞄。維護乙個up
值單調遞增的棧,那麼對於乙個特定的up
值,它需要被統計答案的時候當且僅當它從棧中彈出,或者整一行都被掃瞄完還在棧中的時候。分別計算一下就可以得到答案了。
我一開始認為這就是乙個裸的prim,而且我自認為這道題不好寫對拍就沒寫,結果掛在這一題上了。
給出一幅無向圖,其中有的是黑點,有的是白點。要求選出一些邊,使得任意乙個白點可以通過這些邊到達某個黑點,並且這個黑點在原圖中與這個白點是最靠近的。
首先這個題目和prim演算法是很相像的,但這裡有個不同的地方就是要求到達的黑點是在原圖中最靠近這個白點的。那麼這裡只需要多跑乙個最短路,然後在加邊時加乙個約束條件就可以了。
實際上我們算出每個點的最短路後只需要選一條在最短路上的最短的出邊連上就可以了。
這題就是個裸的dp,但是我寫錯了。
感覺dp什麼的總是寫不好,要好好考慮下。
題意題解什麼的就不寫了,真的很裸。
這道題錯的地方有兩個
2017 4 22NOIP2017模擬考試總結
本次的三道題難度偏低,第一題是乙個非常裸的二分答案,第二題就是排乙個序,然後相乘,主要是用到了二進位制乘法,第三題就是一道裸地差分約束,沒有什麼問題。結果考試只有第三題a了,第一題和第二題都 了,歸根到底還是自己對於基礎的模板不熟練,如二分答案的判斷等。二分答案加模擬判斷 題意 一共有n堆果子,m個...
jzoj 2016 5 14noip模擬賽C 總結
久違的noip模擬賽 先看第一題,dp想了一下複雜度太高,貪心的話八成會有反例 算了不糾結第一題了,先瞄一眼其他題 然後看第二題,咦矩形是什麼?懵了三秒,論智商的重要性 矩形怎麼判來著?又懵三秒 哦哦原來是送分題啊,那看第三題 嗯.覺得是先求每一行拿k個的最大價值,然後再去揹包這nm個貨物,使得其總...
NOIP 2015模擬賽 nodgd題 題解 總結
第一題一輩子過不了系列 這次考試又學到了許多新東西,受益匪淺 但是成績依舊不夠理想,第一題又炸了,明明好好的一道打表題都打錯了,身敗名裂 以後還是繼續鞏固一下這些零零散散的知識,否則考試犯了錯找不出來要浪費好多時間 好數 問題描述 nodgd認為,如果乙個數的三進製表示裡數字1的個數和數字2的個數一...