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

经典的状态压缩DP

cpp 复制代码
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<<k)]+a[i][k+1]);
		 }
	}
	
	cout<<dp[13][(1<<14)-1];
	 
}
相关推荐
一叶落43817 分钟前
【LeetCode】1. 两数之和(Two Sum)— 哈希表经典题解(C语言)
数据结构·c++·算法·leetcode
我头发还没掉光~21 分钟前
P1027 [NOIP 2001 提高组] Car 的旅行路线
c++·算法
adore.96837 分钟前
3.09 复试学习
c++·学习·算法
m0_672703311 小时前
上机练习第43天
数据结构·算法
逆境不可逃1 小时前
【从零入门23种设计模式13】行为型之责任链模式
算法·leetcode·游戏·设计模式·责任链模式
不想看见4041 小时前
Shuffle an Array随机与取样--力扣101算法题解笔记
开发语言·c++·算法
逝雪Yuki1 小时前
P4017 最大食物链计数
c++·算法·动态规划·拓扑排序·洛谷
程序员小明儿1 小时前
量子计算探秘:从零开始的量子编程与算法之旅 · 第四篇
算法·量子计算
程序员小明儿1 小时前
量子计算探秘:从零开始的量子编程与算法之旅 · 第一篇
算法·量子计算
不想看见4041 小时前
Add Strings数字处理--力扣101算法题解笔记
数据结构·算法·leetcode