集美大学“第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];
	 
}
相关推荐
郑州光合科技余经理2 小时前
代驾系统架构拆解:订单链路、权限组织与私有化源码交付
开发语言·后端·算法·架构·系统架构·uni-app·php
To_OC4 小时前
LC 35 搜索插入位置:二分查找谁都会,边界条件谁写谁懵
javascript·算法·leetcode
码哥DFS4 小时前
二叉树的直径
开发语言·javascript·算法
营养充电站7 小时前
KMP全栈开发:从Android到AI Agent的技术演进与实践
人工智能·算法·docker·jupyter
技术小黑8 小时前
RNN算法实战系列05 | 天气预测
人工智能·rnn·算法
歪歪歪比巴卜10 小时前
服务商批量接手客户跨平台社媒账号的技术落地:体检体系与重启架构
矩阵·架构·aigc
比卡超哥10 小时前
Ctorch开发日志——矩阵乘法优化及数学原理
线性代数·矩阵
Ivanqhz10 小时前
php8 use-def链
算法·php
evans在进步11 小时前
LeetCode 189 轮转数组:三次反转原地解决,图解 Java 实现
java·算法·leetcode