P1282 多公尺諾骨牌 dp,揹包

2021-08-28 03:37:22 字數 516 閱讀 3151

評測記錄:

n個多公尺諾骨牌,上下值不相同,可以交換乙個多公尺諾上下的值,求最少的交換次數使上下之和的差值最小。用f

i,j+

n fi,

j+

n表示只計算前i個多公尺諾,上下之差為j需要的最小次數,然後類似揹包的想法正常用差值轉移就好了。

#include

#include

#include

#define n 5000

using

namespace

std;

int n,n1,n2,f[1001][n*3],a[1001],ans,mins;

int main()

memset(f,127/3,sizeof(f));

f[0][n]=0;//初始化

for(int i=1;i<=n;i++)

}for(int i=0;i<=n;i++)

printf("%d",mins);

}

P1282 多公尺諾骨牌 DP

多公尺諾骨牌有上下2個方塊組成,每個方塊中有1 6個點。現有排成行的 上方塊中點數之和記為s1,下方塊中點數之和記為s2,它們的差為 s1 s2 例如在圖8 1中,s1 6 1 1 1 9,s2 1 5 3 2 11,s1 s2 2。每個多公尺諾骨牌可以旋轉180 使得上下兩個方塊互換位置。程式設計...

P1282 多公尺諾骨牌 DP

題目大意 題解當知道 總和 及 單行的和 就可以算出差值的大小 1 2 3 4 單行和l 10 8 7 6 5 總和s 36 則上下行的差值為 l s l include define inf 0x3f3f3f3f using namespace std int n,a 1005 b 1005 dp...

P1282 多公尺諾骨牌 差值DP 揹包

多公尺諾骨牌有上下2個方塊組成,每個方塊中有1 6個點。現有排成行的 上方塊中點數之和記為s1,下方塊中點數之和記為s2,它們的差為 s1 s2 例如在圖8 1中,s1 6 1 1 1 9,s2 1 5 3 2 11,s1 s2 2。每個多公尺諾骨牌可以旋轉180 使得上下兩個方塊互換位置。程式設計...