原创 「暑期訓練」「基礎DP」FATE(HDU-2159)

題意與分析 學習本題的時候遇到了一定的困難。看了題解才知道這是二重揹包。本題的實質是二重完全揹包。 二維費用的揹包問題是指:對於每件物品,具有兩種不同的費用,選擇這件物品必須同時付出這兩種代價:對於每種代價都有一個可付出的最大值(揹包容

原创 「暑期訓練」「Brute Force」 Restoring Painting (CFR353D2B)

題意 給定一定條件,問符合的矩陣有幾種。 分析 見了鬼了,這破題誰加的brute force的標籤,素質極差。因爲範圍是1e5,那你平方(枚舉算法)的複雜度必然爆。 然後你就會思考其中奧妙無窮的數學規律(並沒有),推出一系列相關的等式。

原创 「日常訓練」「小專題·圖論」 Frogger (1-1)

題意 分析 變形的dijkstra。 分析題意之後補充。 代碼 // Origin: // Theme: Graph Theory (Basic) // Date: 080518 // Author: Sam X //#include

原创 「日常訓練」COMMON 約數研究(HYSBZ-1968)

題意與分析 感謝https://www.cnblogs.com/Leohh/p/7512960.html的題解。這題話說原來不在我的訓練範圍,正好有個同學問我,我就拿來做做。數學果然不是我擅長的啊,這麼簡單我都不會。。。 簡單說下自己的

原创 「日常訓練」「小專題·圖論」Domino Effect(1-5)

題意 分析 這題幾乎就是一條dijkstra的問題。但是,如何考慮倒在中間? 要意識到這題求什麼:單源最短路的最大值。那麼有沒有更大的?倒在中間有可能會使它更大。 但是要注意一個問題:不要把不存在的邊(邊長爲inf)算進去;另外,n=

原创 「日常訓練」「小專題·圖論」 昂貴的聘禮(1-4)

題意 分析 dijkstra的變形,問題在於把題目的邏輯轉化成圖。 這個圖(V,E)(V,E) 是這樣的:V是各個人(禮物+承諾+探險家),E是花費的金額。如果能夠換到,就連一條邊。 這樣一來,對[lv1−m,lv1][lv1−m,l

原创 「暑期訓練」「基礎DP」 Common Subsequence (POJ-1458)

題意與分析 很簡單:求最長公共子序列。 注意子序列與子串的差別:一個不連續一個連續。一份比較好的參考資料見:https://segmentfault.com/a/1190000002641054 狀態轉移方程是這樣的: 設dp[i][

原创 「日常訓練」「小專題·USACO」 Barn Repair(1-4)

題意 之後補。 分析 這題同樣也很精巧。我們不妨思考一下,如果只允許用一塊木板,那麼要購買多少距離?是整個的距離嗎?不是,是從第一個到最後一個(哈哈哈哈哈哈哈)。但是,不包括第一個的“左邊”和最後一個的“右邊”。只允許用兩塊的時候發生了什

原创 「日常訓練」「小專題·圖論」 Cow Contest (1-3)

題意 分析 問題是要看出來這是個floyd閉包問題。我沒看出來- - 分析之後補充。 代碼 // Origin: // Theme: Graph Theory (Basic) // Date: 080618 // Author: Sam

原创 「日常訓練」 Longest Run on a Snowboard (UVA-10285)

題意 其實就一條二維的LIS,但是還是做的一愣一愣的,多努力。 考慮dp[i][j]dp[i][j] 爲從(i,j)出發的二維LIS的最大值,那麼dp[i][j]=max{dp[i−di[k]][j−dj[k]]+1}dp[i][j]=