04 2009 檔案
hdu 1500 Chopsticks
摘要: 參考了下別人的代碼,dp真是千變萬化?。?
這與搬寢室還是有很大不同的,要倒過來做;
dp[物品組數][物品個數](I為I副筷子,J為總共筷子)
現在轉入正題,這個題目要求每一組有3個筷子,前2個的差的平方最小,
首先和前面題目一樣先排序對把,顯然從大到小排(因為這樣完全可以轉化成搬寢室 那個一樣的思想)
比如取第2隊物品,那么第一對已經取完保存在數組里面了,
那么從s[2][3*2+1]計算到s[2][n],
為什么這樣就可以呢?
仔細想下,第2組,前面只要有2個可以作為最大的筷子了,一定滿足題目意思的了,所以一直計算下去,
狀態轉移方程和前面一樣~
dp[i][j]=min(dp[i-1][j-2]+(a[j]-a[j-1])*(a[j]-a[j-1]),dp[i][j-1]);
ps:排序從大到小很精妙~ 閱讀全文
這與搬寢室還是有很大不同的,要倒過來做;
dp[物品組數][物品個數](I為I副筷子,J為總共筷子)
現在轉入正題,這個題目要求每一組有3個筷子,前2個的差的平方最小,
首先和前面題目一樣先排序對把,顯然從大到小排(因為這樣完全可以轉化成搬寢室 那個一樣的思想)
比如取第2隊物品,那么第一對已經取完保存在數組里面了,
那么從s[2][3*2+1]計算到s[2][n],
為什么這樣就可以呢?
仔細想下,第2組,前面只要有2個可以作為最大的筷子了,一定滿足題目意思的了,所以一直計算下去,
狀態轉移方程和前面一樣~
dp[i][j]=min(dp[i-1][j-2]+(a[j]-a[j-1])*(a[j]-a[j-1]),dp[i][j-1]);
ps:排序從大到小很精妙~ 閱讀全文
hdu 1074 Doing Homework
摘要: 這題本來是在dp專題里的,或許這里是記憶化搜索吧!不是很明白的! 閱讀全文
hdu 1203 I NEED A OFFER!
摘要: 原以為是用DP做的,但就是不會寫,后來才知道用貪心就可以了! 閱讀全文
hdu 2191 悼念512汶川大地震遇難同胞——珍惜現在,感恩生活
摘要: 0-1背包的例子 閱讀全文
hdu 1159 Common Subsequence 最大公共子序列
摘要: dp[i][j]記錄第一個串的前i個字符與第二個串的前j個字符的最大公共子序列的個數。 閱讀全文
hdu 1087 Super Jumping! Jumping! Jumping!
摘要: 最大遞增序列的一點變形! 閱讀全文
hdu 2512 一卡通大冒險
摘要: 當被分成一堆和n堆的時候都只有一種情況,要在實現初始化。
重要的推導:dp[i][j] = (dp[i-1][j-1] + dp[i-1][j] * j) 閱讀全文
重要的推導:dp[i][j] = (dp[i-1][j-1] + dp[i-1][j] * j) 閱讀全文
hdu 1059 Windows Message Queue
摘要: 很好的使用優先隊列的例子! 閱讀全文
hdu 1195 Open the Lock
摘要: 廣搜,方向為加一,減一,相鄰交換,注意10和0的處理! 閱讀全文
hdu 1195 Open the Lock
摘要: 廣搜,方向為加一,減一,相鄰交換,注意10和0的處理! 閱讀全文
hdu 1016 Prime Ring Problem
摘要: 很基本的深搜題,素數環,但是不理解深搜的含義還是不能做的!還好有人教,O(∩_∩)O~ 閱讀全文
ZOJ 3182 /HUTC 1045 Nine Interlinks
摘要: 找規律哦~~ 閱讀全文
hutc 1040 Knapsack Problem 貪心
摘要: 很基礎的背包問題,用貪心方法做的! 閱讀全文

