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

devtools/2025/2/28 9:01:57/

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

怎么用二进制列举情况,比如一共有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/devtools/163314.html

相关文章

Spring Boot项目@Cacheable注解的使用

Cacheable 是 Spring 框架中用于缓存的注解之一&#xff0c;它可以帮助你轻松地将方法的结果缓存起来&#xff0c;从而提高应用的性能。下面详细介绍如何使用 Cacheable 注解以及相关的配置和注意事项。 1. 基本用法 1.1 添加依赖 首先&#xff0c;确保你的项目中包含了 Spr…

Skype for Business网络延迟怎么办?

解决Skype for Business网络延迟的方法 1. 优化网络带宽和稳定性 确保网络带宽充足是解决Skype for Business延迟问题的首要步骤。您可以采取以下措施来优化网络带宽和稳定性&#xff1a; 升级带宽&#xff1a;如果企业内部使用的网络带宽较低&#xff0c;可以考虑升级带宽&a…

pytorch 参数理解

model.parameters() import torch import torch.nn as nnclass SimpleModel(nn.Module):def __init__(self):super(SimpleModel, self).__init__()self.fc1 nn.Linear(10, 5) # 输入维度为10&#xff0c;输出维度为5self.fc2 nn.Linear(5, 2) # 输入维度为5&#xff0c;输…

bean的管理-01.bean的获取

一.获取bean 在默认情况下&#xff0c;Spring项目启动时&#xff0c;会将bean都创建好放在IOC容器中&#xff0c;我们可以通过Autowired注解将所需要的bean对象注入进来&#xff0c;其实也可以通过Spring给我们提供的这些方法主动从IOC容器中获取bean对象。那么如何从IOC容器中…

linux里面的过滤符号 | 是如何实现的

ls -l | grep ".txt" 的实现过程涉及无名管道的创建、进程的创建&#xff08;fork()&#xff09;以及输入输出的重定向&#xff08;dup2()&#xff09;。以下是详细的实现步骤和代码示例&#xff1a; 实现步骤 创建无名管道&#xff1a; 使用pipe()系统调用创建一个无…

说说 Spring MVC 的执行流程

Spring MVC 是一个基于 Java 的轻量级、开源的 Web 框架&#xff0c;用于构建 Web 应用程序。它通过将请求处理的各个阶段解耦&#xff0c;使得开发更加灵活和模块化。以下是 Spring MVC 的执行流程&#xff0c;从用户发起请求到返回响应的整个过程&#xff1a; --- ### 1. 用…

图片爬取案例

修改前的代码 但是总显示“失败” 原因是 修改之后的代码 import requests import os from urllib.parse import unquote# 原始URL url https://cn.bing.com/images/search?viewdetailV2&ccidTnImuvQ0&id5AE65CE4BE05EE7A79A73EEFA37578E87AE19421&thidOIP.TnI…

毛泽东思想“活的灵魂”

关于毛泽东思想“活的灵魂”的构成及其内涵&#xff0c;综合历史文献与权威表述&#xff0c;核心内容整理如下&#xff1a; 一、毛泽东思想活的灵魂的权威定义 根据十一届六中全会《关于建国以来党的若干历史问题的决议》&#xff08;1981年&#xff09;&#xff0c;毛泽东思想…