原创 算法導論(第三版)習題解答9.1-1(找第二小的元素)

我們做出如下斷言:無論採用何種比較算法,第二小的元素在我們找尋最小元素的過程中一定與最小元素髮生過比較。 這是顯然的,因爲第二小元素在與除最小元素外的其他任何元素進行比較時一定都會勝出(被選中進入下一輪比較),若最小元素不與第二小元素進行

原创 UVA12627 Erratic Expansion

開始想利用二叉樹去計算每一行的值。。妥妥的T了。。。於是看了題解。。。居然是DP。,果然菜的不行。。。 f(i,j)表示第i天前j行的紅色氣球的數量和c(i)表示第i天紅色氣球的總數量,顯然c(i)=3^i。那麼當j>=2^(i-1)的時

原创 UVA12545 Bits Equalizer

用cnt記錄最終的變換次數,cnt1爲0-1對的對數,cnt2爲1-0的對數,cnt3爲?-1與?-0對數之和,cnt4是S串的1的個數,cnt5是T串的1的個數. 那麼顯然,當cnt4>cnt5的時候是不可能變換成功的,因爲S串中1的個

原创 UVA12118

歐拉道路的題。dfs對每個連通塊記錄奇點個數odd,同時記錄下沒有奇點的連通塊的數目s,那麼所有有奇點的連通塊連成一整個的歐拉道路需要另外經過odd/2-1條邊。同時加上這個大連通塊與另外s個連通塊之間連

原创 UVA - 1471 Defense Lines

依然是紫書上的例題。。好難啊TAT依舊不會做所以還是紫書上的思路(請結合紫書食用)。。f[i]與g[i]分別表示以下標i代表元素a[i]爲終點與起點的最長連續上升子序列長度(跟紫書給的題解是反的。。注意一下。。),遞歸計算即可。關鍵在於插

原创 UVA437 The Tower of Babylon

DAG(有向無環圖)上的DP.每個磚塊的三种放置方式可以當做3個點.dp[i]表示以i爲最上面一塊轉的最高高度.那麼dp[i]=max(dp[i],dp[j]+h[i]).其中<j,i>∈E. 對磚塊按長寬排序,兩層循環套一下.答案就是m

原创 UVA806 Spatial Structures

題目太長了。。看懂了也沒啥難得。。這裏就不翻譯了。。大概意思就是把一個長寬爲2的冪次的圖像化爲一個四分樹,並且標出到黑色像素塊的路徑,以一個十進制整數表示。怎麼表示題目裏有圖示,比較容易理解。 圖像化樹:用矩形的左上角和右下角兩個點的座標