[hihoCoder]#1615 : 矩阵游戏II

XJOI 9552 矩阵游戏C++题解 小明最近沉迷于一个矩阵游戏,游戏规则是:给定一个数字矩阵。该矩阵行和列相同,对于第i行,你需要将第i行的最小值(若出现相同的,选择列号较小的)和第i列的最大值(若出现相同的,选择行号较小的)交换,然后将第i行的数从小到大排序。要求输出最后的矩阵。第1行为一个整数n(不超过100),表示矩阵的行列数。接下来n行,每行n个整数。 阅读详情

1615 : 矩阵游戏II

时间限制:10000ms
单点时限:1000ms
内存限制:256MB
描述
给定一个NxN的整数矩阵,小Hi每次操作可以选择两列,将这两列中的所有数变成它的相反数。

小Hi可以进行任意次操作,他的目标是使矩阵中所有数的和尽量大。你能求出最大可能的和吗?

输入
第一行一个整数N。

以下N行,每行N个整数Aij。

对于30%的数据,2 ≤ N ≤ 10

对于100%的数据,2 ≤ N ≤ 200, -1000 ≤ Aij ≤ 1000

输出
最大可能的和

样例输入
4
-1 1 1 2
-2 -3 1 2
-3 -2 1 2
-4 -1 1 2
样例输出
27

解题思路

  • 这个只操作列,就相当于一维数组的操作,只要排好序,两个两个一加,注意好,中间正负相交的是正是负。
  • 注意最后一个不需要任何操作
  • 因为事先不知道数组的大小,所以这里使用了动态数组

AC代码

#include <iostream>
#include <algorithm>

using namespace std;

int main()
{
    int N;
    cin>>N;
    int *colTotal = new int[N];
    
    int **temp;
    temp = new int *[N];
    for(int i = 0;i < N; ++i)
    {
        temp[i] = new int[N];
    }
    
    for (int i = 0; i < N; ++i)
    {
        for (int j = 0; j < N; ++j)
        {
            cin >> temp[i][j];
        }
    }
    
    //将二维数组压缩成一维数组
    for(int j = 0;j < N; ++j)
    {
        colTotal[j]=0;
        for(int i = 0;i < N; ++i)
        {
            colTotal[j] += temp[i][j];
        }
    }
    
    sort(colTotal,colTotal + N);
    
    
    int result = 0;
    for(int i = 0; i < N; i += 2)
    {
        if((i+1) == N)
        {

            result += colTotal[i];
            
            break;
        }
        
        if((colTotal[i] + colTotal[i+1]) >= 0)
        {
            result +=(colTotal[i]+colTotal[i+1]);
        }
        else
        {
            result -=(colTotal[i]+colTotal[i+1]);
        }
        
    }
    
    cout << result <<endl;
    
    return 0;
}
[ZJOI2007]矩阵游戏 我们发现同行同列的点无论经过多少次变换仍然同行或同列,所以题目可转换为能不能找到n个互相不同行或同列的点。 那么我们用二分图求一下最大匹配即可。 #include <bits/stdc++.h> using namespace std; const int N=205; int T,n,x,ans; int match[N<<1]; bool vis[N<<1]; int cnt,head[N<<1]; struct edge{int next,to;}e[N 阅读详情

相关推荐

矩阵取数游戏(NOIP2007弱化版【动态规划不含高精度】)题目、分析及C++代码实现

矩阵取数游戏(NOIP2007弱化版【动态规划不含高精度】)题目、分析及C++代码实现 原题再现1 题目 - 矩阵取数游戏 描述 帅帅经常跟同学玩一个矩阵取数游戏:对于一个给定的n行*m列的矩阵,矩阵中的每个元素aij均为非负整数。游戏规则如下: 每次取数时须从每行各取走一个元素,共n个。m次后取完矩阵所有的元素; 每次取走的各个元素只能是该元素所在行的行首或行尾; 每次取数都有一个得分值,为...

蒟蒻August Huang 1712

[bzoj1059] 矩阵游戏

[bzoj1059] 矩阵游戏 我大概是背不到匈牙利算法的板子了 代码 #include&lt;bits/stdc++.h&gt; using namespace std; const int N=310; int a[N][N],n; int mat[N]; bool vis[N]; bool dfs(int x){ for(int i=1;i&lt;=n;i++){ ...

jerome_wei的博客 489

几个c++游戏源代码

c++游戏源代码 坦克大战 打飞机 暗黑破坏神 超级马里奥

矩阵游戏(CCPC Henan Provincial Contest 2023)

【代码】矩阵游戏(CCPC Henan Provincial Contest 2023)

GordrnGhost的博客 593

CPRI原理及应用--帧结构

对于CPRI 控制字,协议将1个超帧(256基本帧)的控制数据划分为一个“子通道”,将子通道内超帧内的控制字进行行列划分,分为4列X64行,每64个基本帧组成1列。如下图所示。每个Xs子通道内Ns的定义基本相同,在做控制字设计时,主要已Xs和Ns和X.Y.Z开展控制字映射。

u014035968的博客 2325

西安交通大学SQ轴承数据集(文末附数据)

西安交通大学SQ轴承数据集

qq_43271683的博客 1万+

【hihoCoder】#1615 : 矩阵游戏II

时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 给定一个NxN的整数矩阵,小Hi每次操作可以选择两列,将这两列中的所有数变成它的相反数。 小Hi可以进行任意次操作,他的目标是使矩阵中所有数的和尽量大。你能求出最大可能的和吗? 输入 第一行一个整数N。   以下N行,每行N个整数Aij。   对于30%的数据,2 ≤ N ≤ 10   对于100%的...

SixWings0104的博客 1058

PythonWeb开发框架—Django之工程创建和models的定义和增删改查

文章介绍了Django工程的创建、models的定义和增删改查

weixin_42476668的博客 990

HihoCoder - 1615 矩阵游戏II

题目: 给定一个NxN的整数矩阵,小Hi每次操作可以选择两列,将这两列中的所有数变成它的相反数。 小Hi可以进行任意次操作,他的目标是使矩阵中所有数的和尽量大。你能求出最大可能的和吗? Input 第一行一个整数N。 以下N行,每行N个整数Aij。 对于30%的数据,2 ≤ N ≤ 10 对于100%的数据,2 ≤ N ≤ 200, -1000 ≤ Aij ≤ 1000 Output 最大可能的和...

qq_41998938的博客 231

ads传统功放设计笔记(3)

传统功放设计的流程一般包括以下这些步骤: 1、明确设计目标 2、选择功放管子 3、确定静态工作点 4、设计偏置电路 5、判断稳定性 6、负载与源牵引 7、输入输出阻抗匹配 8、原理图优化 9、大信号仿真 10、版图设计 11、版图联合仿真 12、pcb设计 第二节我们设计仿真了功放的原理图。之后我们需要对版图进行设计和仿真。 10、版图设计 首先将S参数控件都打叉,还要去掉电源、源负载阻抗、地、芯片、电容。在原先电容和芯片的位置加上gap,设置好长度和间隔。之后在电源引脚、输入输出引脚和隔离的两端加上端口。

qq_40995480的博客 6025

电脑蓝牙与ESP32蓝牙连接,让电脑发现ESP32

让PC发现ESP32蓝牙

injre! injre~ 5445

hiho 1615 矩阵游戏II [Offer收割]编程练习赛33 Problem A 贪心暴力

把每列取反后所能获得的收益记录下来,然后排序,从高到低一对对的取,大于0就算上。 #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; int N;

世靖的码场 966

ardupilot开发 --- mavlink签名加密 篇

ardupilot开发 --- mavlink签名加密

记录老板的每次pua,分享领导每天的毒鸡汤... 1235

省选专练之数学 [NOI2013]矩阵游戏(详细)

矩阵快速幂太暴力了 给出以下证明: 稍微有常识的高考生都会解决这个问题 设  且  解得  设 有  即  根据给出的递推式知 由上式知: 不难看出令     和最开始的式子是相通的 所以就可以快速求出 当然注意特判一下a=1原因我想大家都懂 然后就完了 #include&lt;iostream&gt; #include&lt;cstdio&gt; #incl...

LeoJAM的博客 449

Allegro174版本如何关闭模块复用后铜皮自动从动态变成静态操作指导

在用Allegro进行PCB设计的时候,模块复用是使用的十分频繁的操作,当Allegro升级到了174 S034版本的时候,当使用模块复用的功能的时候,模块内的铜皮会自动动静转换,大部分情况是不需要的。版本如何关闭模块复用后铜皮自动从动态变成静态操作指导。如何关闭这个功能,具体操作如下。

weixin_54787054的博客 1258

DA14531之搭建开发环境

DA14531之搭建开发环境

hejinwu1314的博客 1777

矩阵游戏

如果要保证有解 那么,必定存在从每一行选择一个棋子,能够包括每一列。 #include #include #include #include #include #include using namespace std; #define MAX 205 struct Line{ int v,next; }e[10MAXMAX]; int h[MAX],cnt=1; int vis[MAX],dep;...

qq_36172410的博客 646

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

[51nod 1051 最大子矩阵和]前缀和+dp

[51nod 1051 最大子矩阵和]前缀和+dp分类:前缀和 dp 水题1. 题目链接[51nod 1051 最大子矩阵和]2. 题意描述一个M∗NM*N的矩阵,找到此矩阵的一个子矩阵,并且这个子矩阵的元素的和是最大的,输出这个最大的值。 例如:3*3的矩阵:-1 3 -1 2 -1 3 -3 1 2和最大的子矩阵是:3 -1 -1 3 1 23. 解题思路首先,预处理出二维前缀和。然后

Fighting! 794

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

HihoCoder - 1846 dfs

A - ABC  HihoCoder - 1846  杂货铺老板一共有N件物品,每件物品具有ABC三种属性中的一种或多种。从杂货铺老板处购得一件物品需要支付相应的代价。   现在你需要计算出如何购买物品,可以使得ABC三种属性都在购买的物品中出现,并且支付的总代价最小。 Input 第一行包含一个整数N。   以下N行,每行包含一个整数C和一个只包含"ABC"的字符串,代表购得该物品的...

这可是一个难过的暑假哇,别白过 783

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Hihocoder 1502 - 最大子矩阵

题目链接:  Hihocoder 1502: 最大子矩阵 #1502 : 最大子矩阵 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 给定一个NxM的矩阵A和一个整数K,小Hi希望你能求出其中最大(元素数目最多)的子矩阵,并且该子矩阵中所有元素的和不超过K。 输入 第一行包含三个整数

龙锅要找到OnePiece的博客 955

hihocoder 1609 数组分拆II

时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 给定一个包含N个整数的数组A=[A1, A2, ... AN]。小Ho想将A拆分成若干连续的子数组,使得每个子数组中的整数都是两两不同的。 在满足以上条件的前提下,小Ho想知道子数组数量最少是多少。 同时他还想知道,在数量最少的前提下有多少中不同的拆法。 例如对于[1, 2, 3, 1,

MasterG 402

洛谷 P1129 矩阵游戏

洛谷 P1129 矩阵游戏 题目链接 题目描述 小 Q 是一个非常聪明的孩子,除了国际象棋,他还很喜欢玩一个电脑益智游戏――矩阵游戏。矩阵游戏在一个 n \times nn×n 黑白方阵进行(如同国际象棋一般,只是颜色是随意的)。每次可以对该矩阵进行两种操作: 行交换操作:选择矩阵的任意两行,交换这两行(即交换对应格子的颜色)。 列交换操作:选择矩阵的任意两列,交换这两列(即交换对应格子的颜色)。...

旺崽的博客 2716

[读书笔记]编程之美(一)

[读书笔记]编程之美(一)不得不说编程之美是一本很有意思的书,里面的各式各样新奇的问题,总是可以通过课上讲的简单的问题来解决,对于训练自己的思维的确有很大的好处。一般解决复杂的问题,我们总是可以通过:1、画图:链表、二叉树,2、举例,3、分解:分治法、动态规划来解决。游戏 程序也是游戏的一种1.1让CPU占用率曲线听你指挥 题目:用户决定CPU的占有率 思路:(举例)首先我们要明确什么是CPU的占有

xy_cpp的博客 1万+
上一篇: [生产力工具]Mysql入门
下一篇: [hihocoder]#1619“共同富裕” && #1620股票价格3
xy_cpp
博客等级 码龄10年 119粉丝 84原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值