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

ops/2025/2/25 17:09:55/

这道题是牛客上的一道题,它呢和我们之前的排座位游戏非常之相似,但是,排座位问题选择行和列是不会改变元素的值的,这道题呢每每选一行都会把这行或者这列清零,所以我们的策略就是先用二进制把选择所有行的情况全部枚举出来,接着再选择列,找出和最大的情况即可

怎么用二进制列举情况,比如一共有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;
}


http://www.ppmy.cn/ops/161252.html

相关文章

DeepSeek为云厂商带来新机遇,东吴证券看好AI带动百度智能云增长

近日&#xff0c;摩根士丹利&#xff08;亚洲&#xff09;发布研究报告《DeepSeek-Al Bifurcation》&#xff0c;报告指出DeepSeek的爆火催生了低成本人工智能市场&#xff0c;为数据中心、芯片及云服务提供商带来新的发展机遇。 同时&#xff0c;东吴证券发布研究报告维持百度…

DevEco Studio常用快捷键以及如何跟AndroidStudio的保持同步

DevEco Studio快捷键 DevEco Studio是华为推出的用于开发HarmonyOS应用的集成开发环境&#xff0c;它提供了丰富的快捷键以提高开发效率&#xff0c;以下为你详细介绍不同操作场景下的常用快捷键&#xff1a; 通用操作快捷键 操作描述Windows/Linux 快捷键Mac 快捷键打开设置窗…

前端基础知识

1. 变量和常量 1.1 变量 // 变量let name Jacklet age 20name lisiage 18 1.2 常量 // 常量const PI 3.14// PI 3.1415926 // error&#xff0c;常量不可重新赋值const articleList []const user {name: vue3,age: 10} 1.3 const 声明的数组和对象 因为数组和对象在…

instanceof和typeof的区别【JavaScript常见面试题】

typeof &#xff08;一元操作符&#xff09;&#xff1a; 用于判断一个变量的类型。它可以用于任何数据类型&#xff0c;并返回一个表示该类型的字符串。 console.log(typeof 42); // "number" console.log(typeof Hello); // "string" conso…

SQL:DQL数据查询语言以及系统函数(oracle)

SQL Structured Query Language&#xff0c;结构化查询语言, 是一种用于管理和操作关系数据库的标准编程语言。 sql的分类 DQL&#xff08;Data Query Language&#xff09;&#xff1a;数据查询语言 DDL&#xff08;Data Definition Language&#xff09;&#xff1a;数据…

Prompt-to-Prompt 进行图像编辑

Prompt-to-Prompt 图像编辑是一种基于注意力机制的图像编辑技术&#xff0c;它通过在输入图像和编辑目标之间建立一个双向注意力机制来实现图像编辑。这种技术可以让模型根据输入图像的内容和编辑目标的描述来进行图像编辑。 交叉注意力控制是 Prompt-to-Prompt 图像编辑中的一…

Angular 中获取 DOM 节点的几种方法

文章目录 1. 使用ViewChild获取单个 DOM 节点2. 使用ViewChildren获取多个 DOM 节点3. 使用ElementRef直接访问 DOM4. 使用Renderer2操作 DOM5. 总结 在 Angular 开发中&#xff0c;虽然框架鼓励我们通过组件和模板来操作 DOM&#xff0c;但在某些情况下&#xff0c;直接访问和…

1_安装JDK和Hadoop

一、解压jdk和hadoop安装包 下载 通过百度网盘分享的文件&#xff1a;jdk-8u172-linux-x64.tar.gz 链接&#xff1a;https://pan.baidu.com/s/1VjhdpfyqdC7ivEBIjTn8tA 提取码&#xff1a;iz25 二、配置环境变量 vi /root/.bashrc添加 #set java environment export JAVA_H…