蓝桥杯备考:贪心算法之矩阵消除游戏


这道题是牛客上的一道题,它呢和我们之前的排座位游戏非常之相似,但是,排座位问题选择行和列是不会改变元素的值的,这道题呢每每选一行都会把这行或者这列清零,所以我们的策略就是先用二进制把选择所有行的情况全部枚举出来,接着再选择列,找出和最大的情况即可
怎么用二进制列举情况,比如一共有3行,我们的选择是 000 001 010 011 100 110 111,也就是说到1000结束,也就是把1左移动3就行了
#include <iostream>
#include <algorithm>
#include <cstring>
using namespace std;
const int N = 20;
int a[N][N];
int n, m, k;
int col[N];
int calc(int x)
{int cnt = 0;while (x){x = x & (x-1);cnt++;}return cnt;}
bool cmp1(int x1, int x2)
{return x1 > x2;
}
int main()
{cin >> n >> m >> k;for (int i = 0; i < n; i++){for (int j = 0; j < m; j++){cin >> a[i][j];}}int ret = 0;for (int i = 0; i < (1<<n); i++){int c = calc(i);if(c > k) continue;int sum = 0;int tmp = i;memset(col, 0, sizeof(col));for (int i = 0; i < n; i++){for (int j = 0; j < m; j++){if ((tmp >> i) & 1) sum += a[i][j];elsecol[j] += a[i][j];}}sort(col, col + m, cmp1);int tmp2 = calc(tmp);for (int i = 0; i < k-tmp2; i++){sum += col[i];}ret = max(ret, sum);}cout << ret << endl;return 0;
}
相关文章:
蓝桥杯备考:贪心算法之矩阵消除游戏
这道题是牛客上的一道题,它呢和我们之前的排座位游戏非常之相似,但是,排座位问题选择行和列是不会改变元素的值的,这道题呢每每选一行都会把这行或者这列清零,所以我们的策略就是先用二进制把选择所有行的情况全部枚举…...
【Matlab仿真】Matlab Function中如何使用静态变量?
背景 根据Simulink的运行机制,每个采样点会调用一次MATLAB Function的函数,两次调用之间,同一个变量的前次计算的终值如何传递到当前计算周期来?其实可以使用persistent变量实现函数退出和进入时内部变量值的保持。 persistent变…...
DeepSeek 提示词:高效的提示词设计
🧑 博主简介:CSDN博客专家,历代文学网(PC端可以访问:https://literature.sinhy.com/#/?__c1000,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,精通Java编…...
深入学习Java中的Lambda表达式
深入学习Java中的Lambda表达式 自Java 8引入以来,Lambda表达式彻底改变了Java的编程风格,让代码变得更加简洁、易读,尤其是在函数式编程的场景中。接下来,我们将深入探讨Lambda表达式的语法、原理以及实际应用,帮助你…...
1.2 AI 量化炒股的起源与发展
**定性价值**:AI量化炒股通过算法模型实现投资决策自动化,显著提升交易效率与风险控制能力,打破传统人工交易的主观性与延迟性,推动金融科技向智能化、数据驱动方向迭代,具有颠覆传统投资模式的战略意义。 **定量价值…...
计算机单位之详解——存储单位Byte 网络传输单位bps 视频码率单位bps
前言: 计算机里面单位有点复杂,容易混淆,很多时候混起来就容易概念不理解,包括一些小问题,比如说:为什么我买了1T硬盘,实际存在虚标。为什么所谓的千兆宽带,下载起来没有1G每秒&…...
IDEA关闭SpringBoot程序后仍然占用端口的排查与解决
IDEA关闭SpringBoot程序后仍然占用端口的排查与解决 问题描述 在使用 IntelliJ IDEA 开发 Spring Boot 应用时,有时即使关闭了应用,程序仍然占用端口(例如:4001 端口)。这会导致重新启动应用时出现端口被占用的错误&a…...
deepseek清华大学第二版 如何获取 DeepSeek如何赋能职场应用 PDF文档 电子档(附下载)
deepseek清华大学第二版 DeepSeek如何赋能职场 pdf文件完整版下载 https://pan.baidu.com/s/1aQcNS8UleMldcoH0Jc6C6A?pwd1234 提取码: 1234 或 https://pan.quark.cn/s/3ee62050a2ac...
【python随手记】——读取文本文件内容转换为json格式
文章目录 前言一、TXT文件转换为JSON数组1.txt文件内容2.python代码3.输出结果 二、TXT文件转换为JSON对象1.txt文件2.python代码3.输出结果 前言 场景:用于读取包含空格分隔数据的TXT文件,并将其转换为结构化JSON文件 一、TXT文件转换为JSON数组 1.tx…...
k8s集群3主5从高可用架构(kubeadm方式安装k8s)
关键步骤说明 环境准备阶段 系统更新:所有节点执行yum/apt update确保软件包最新时间同步:通过ntpdate time.windows.com或部署NTP服务器网络规划:明确划分Service网段(默认10.96.0.0/12)和Pod网段(如Flann…...
基于 sklearn 的均值偏移聚类算法的应用
基于 sklearn 的均值偏移聚类算法的应用 在机器学习和数据挖掘中,聚类算法是一类非常重要的无监督学习方法。它的目的是将数据集中的数据点划分为若干个类,使得同一类的样本点彼此相似,而不同类的样本点相互之间差异较大。均值偏移聚类&…...
三、大模型微调的多种方法与应用场景
详解大模型微调的多种方法与应用场景 随着大模型的不断发展,如何有效地微调这些庞大的预训练模型以适应特定任务成为了研究和应用中的一个重要问题。大模型微调不仅能够提高任务性能,还能在不同的业务需求中提升模型的适应性。在本文中,我们…...
第2课 树莓派镜像的烧录
树莓派的系统通常是安装在SD卡上的。SD卡作为启动设备,负责启动树莓派并加载操作系统。这种设计使得树莓派具有便携性和灵活性,用户可以通过更换SD卡来更换操作系统或恢复出厂设置。 烧录树莓派的镜像即是将树莓派镜像烧录到SD卡上,在此期间会格式化SD卡,如果SD卡…...
SQL之order by盲注
目录 一.order by盲注的原理 二.注入方式 a.布尔盲注 b.时间盲注 三.防御 一.order by盲注的原理 order by子句是用于按指定列排序查询结果,列名或列序号皆可。 order by 后面接的字段或者数字不一样,那么这个数据表的排序就会不同。 order by 盲…...
AI大模型(四)基于Deepseek本地部署实现模型定制与调教
AI大模型(四)基于Deepseek本地部署实现模型定制与调教 DeepSeek开源大模型在榜单上以黑马之姿横扫多项评测,其社区热度指数暴涨、一跃成为近期内影响力最高的话题,这个来自中国团队的模型向世界证明:让每个普通人都能…...
java后端开发day19--学生管理系统升级
(以下内容全部来自上述课程) 1.要求及思路 1.总体框架 2.注册 3.登录 4.忘记密码 2.代码 1.javabean public class User1 {private String username;private String password;private String personID;private String phoneNumber;public User1() {…...
MFC文件和注册表的操作
MFC文件和注册表的操作 日志、操作配置文件、ini、注册表、音视频的文件存储 Linux下一切皆文件 C/C操作文件 const char* 与 char* const const char* 常量指针,表示指向的内容为常量。指针可以指向其他变量,但是内容不能再变了 char szName[6]&qu…...
vscode如何使用鼠标滚轮调整字体大小
1.打开设置 2.搜索Font Ligatures 3.编辑配置文件 4.修改代码并保存 修改前 修改后 在最后一行添加:“editor.mouseWheelZoom”: true 记得在上一行最后,加上英文版的“,”逗号 5.配置成功,再次按Ctrl鼠标滚轮便可以缩放了。...
C++之vector和list辨析
std::vector 和 std::list 是 C 标准库中两种常用的容器,它们都用于存储和管理元素集合,但在底层实现和性能特性上有显著的区别。 1. 底层实现 std::vector: 基于动态数组实现。元素在内存中是连续存储的。支持随机访问(通过下标访问元素&a…...
冯诺依曼体系结构 ──── linux第8课
目录 冯诺依曼体系结构 关于冯诺依曼,必须强调几点: 冯诺依曼体系结构 我们常见的计算机,如笔记本。我们不常见的计算机,如服务器,大部分都遵守冯诺依曼体系 输入单元:包括键盘, 鼠标,网卡,扫…...
项目介绍 MATLAB实现基于ResidualTrend-Transformer 线性残差趋势模型(ResidualTrend)结合 Transformer 编码器进行多变量时间序列预测的详细项目实例
MATLAB实现基于ResidualTrend-Transformer 线性残差趋势模型(ResidualTrend)结合 Transformer 编码器进行多变量时间序列预测的详细项目实例 更多详细内容可直接联系博主本人 加v 我的昵称(nantangyuxi) 或者访问对应标题的完整博…...
智慧树刷课插件:3步实现自动化学习,告别手动刷课烦恼
智慧树刷课插件:3步实现自动化学习,告别手动刷课烦恼 【免费下载链接】zhihuishu 智慧树刷课插件,自动播放下一集、1.5倍速度、无声 项目地址: https://gitcode.com/gh_mirrors/zh/zhihuishu 还在为智慧树平台的网课学习而烦恼吗&…...
Qwen3智能字幕对齐系统与Dify平台集成实践
Qwen3智能字幕对齐系统与Dify平台集成实践 如何将专业的字幕对齐能力快速转化为可用的AI应用 1. 项目背景与价值 视频内容创作者经常面临一个痛点:人工添加字幕耗时耗力,特别是需要处理大量视频内容时。传统的字幕制作流程需要反复听写、校对、时间轴对…...
Qwen3.5-4B-Claude-Opus部署教程:模型服务与前端分离部署的跨域配置方案
Qwen3.5-4B-Claude-Opus部署教程:模型服务与前端分离部署的跨域配置方案 1. 模型概述 Qwen3.5-4B-Claude-4.6-Opus-Reasoning-Distilled-GGUF 是一个基于 Qwen3.5-4B 的推理蒸馏模型,重点强化了结构化分析、分步骤回答、代码与逻辑类问题的处理能力。该…...
别再死记硬背PID公式了!用Arduino调一个温控风扇,手把手带你理解P、I、D到底在干啥
用Arduino实战PID温控:不背公式也能调出完美风扇 记得第一次接触PID控制时,盯着那三个神秘的字母——P、I、D,还有一堆让人头大的公式,感觉就像在解一道没有答案的数学题。直到我用Arduino做了一个温控风扇,亲眼看着风…...
Java 大厂一面模拟:从活动发奖到消息幂等的分布式一致性拷问
开场说明 这是一场面向 1-3 年 Java 后端候选人或校招高阶候选人的模拟大厂一面,时长约 30 分钟。面试围绕一个典型的电商活动发奖业务场景展开,串联缓存设计、消息可靠性、事务一致性及分布式协调等核心模块。问题设计兼顾广度与深度,重点考…...
多变量赋值,解包,split()与eval()
input与split结合运用注意点:...
TPS61088升压板实战:从3.7V到9V的电源设计、调试与优化全记录
1. 项目背景与芯片选型 最近在做一个需要9V供电的小设备,原本打算用常见的9V方块电池,但考虑到成本和环保问题,决定自己设计一个升压电路板。经过一番调研,最终选择了TI的TPS61088这颗芯片。选它的原因很简单:效率高&a…...
《JAVA面经实录》- Java 科学学习顺序(看这篇就够了)
《JAVA面经实录》- Java 科学学习顺序(看这篇就够了) 3 年 Java 还在写业务?别再无效加班!这套架构师路线,聚焦 JVM、并发、分布式、微服务核心,每日 2 小时高效学,配实战项目,1 年…...
IAR工程配置避坑指南:如何用$PROJ_DIR$和相对路径管理头文件(附实例)
IAR工程配置避坑指南:如何用$PROJ_DIR$和相对路径管理头文件(附实例) 在嵌入式开发中,头文件路径配置是个看似简单却暗藏玄机的环节。记得我第一次从Keil转向IAR时,就因为路径问题浪费了整整一天时间——每次移动工程文…...
