集美大学“第15届蓝桥杯大赛(软件类)“校内选拔赛 D矩阵选数


集美大学“第15届蓝桥杯大赛(软件类)“校内选拔赛 D矩阵选数_第1张图片

经典的状态压缩DP

int dp[15][(1<<14)+10];
int a[15][15];
void solve()
{
	
	//dp[i][st]考虑到了第i行 并且当前考虑完第i行以后的选择状态是st的所有方案中的最大值
	for(int i=1;i<=13;i++)
	 for(int j=1;j<=13;j++)
	  cin>>a[i][j];
	
	for(int i=1;i<=13;i++){
		for(int j=0;j<(1<<14);j++)
		 for(int k=0;k<13;k++){
		 	if(j>>k&1)dp[i][j] = max(dp[i][j],dp[i-1][j^(1<

你可能感兴趣的:(思维,状压DP,蓝桥杯,矩阵,算法)