(二维vector)(绝对值求和等式的处理)B. Playing in a Casino

简介: (二维vector)(绝对值求和等式的处理)B. Playing in a Casino

我的思路

把竖式排序,然后变成差分数组,用第一项来表示全部项;

自己没做过的做法,很难写对,正确性都没有成功验证,还得积累解题套路

思路

// 不是让数组保持原状竖着排序,顺时针转90度,n,m交换,然后再一行一行排序

// 列出表达式 s = |3-1| + |7-1| + |7-3|,绝对值的式子的处理,只要能把元素交换成大减小就可以忽略绝对值了。

// 把加的和减的拿出来看,加的个数从小到大是0,1,2,减的是2,1,0;

//

涉及的套路

1.数组旋转:

用途:目前见过 除了题目明确要求进行这个操作外,用于数组的纵向排序

向右旋转90度:

cin时ij倒转

for(int i= 0;i < n;i++){
  for(int j = 0;j < m;j++){
    cin >> f[j][i];
}

后续操作时n,m调换位置

将纵列换成横行后进行排序
for(int i = 0;i < m;i++) sort(f[i],f[i]+n);


for(int i = 0;i < m;i++){
  for(int j= 0;j < n;j++){
    cout << f[i][j];
  }
}
2.二维vector的初始化与使用

定义:

vector<vector<int> > f(n,vector<int> (m));
等价于
f[n][m];


好处在于,n,m在vector中可以为变量。

对于某些题给范围时给的是

n*m <= 5e5,

就不能用二维数组,只能用vector了

还有通过push_back()实现动态扩容


注意vector访问时下标从0开始

输入元素:

通过上面的定义方式定义后,可以直接通过下标来输入,使用方法同普通数组
for(int i = 0;i < n;i++){
  for(int j= 0;j < m;j++){
    cin >> f[i][j];
  }
}
如果只是
vector<vector<int> > f;
这样的定义,没有提前开辟内存的话
输入时要用pushback()
for(int i = 0;i < n;i++){
  for(int j= 0;j < m;j++){
    int x;
    cin >> x;
    f[i].pushback(x);
  }
}
目录
相关文章
|
存储 算法 编译器
【c 语言 】移位操作符详解
【c 语言 】移位操作符详解
972 0
|
缓存 Linux Shell
RHEL7部署http应用配置共享yum源
RHEL7部署http应用配置共享yum源
553 0
|
4月前
|
存储 安全 测试技术
Python面试题精选及解析
本文详解Python面试中的六大道经典问题,涵盖列表与元组区别、深浅拷贝、`__new__`与`__init__`、GIL影响、协程原理及可变与不可变类型,助你提升逻辑思维与问题解决能力,全面备战Python技术面试。
183 0
|
存储 弹性计算 运维
阿里云国际Windows操作系统迁移教程
阿里云国际Windows操作系统迁移教程
|
人工智能 小程序 API
【一步步开发AI运动小程序】十三、自定义一个运动分析器,实现计时计数02
本文介绍如何利用“云智AI运动识别小程序插件”开发AI运动小程序,详细解析了俯卧撑动作的检测规则构建与执行流程,涵盖卧撑和撑卧两个姿态的识别规则,以及如何通过继承`sports.SportBase`类实现运动分析器,适用于小程序开发者。
|
资源调度 算法 Linux
Linux进程/线程的调度机制介绍:详细解析Linux系统中进程/线程的调度优先级规则
Linux进程/线程的调度机制介绍:详细解析Linux系统中进程/线程的调度优先级规则
3579 0
|
存储 安全 物联网
计算机网络的类型
本文介绍了网络的分类,涵盖按覆盖范围(PAN、LAN、MAN、WAN)、使用场景(公网、外网、内网)、传输介质(有线、无线)、特殊类型(VLAN、SAN、网络桥接、接入网)及拓扑结构(总线型、星型、树型、环型、网状型)和交换方式(电路交换、报文交换、分组交换)等,详细阐述了各类网络的特点和技术。
1157 2
|
机器学习/深度学习 自然语言处理 搜索推荐
智能语音识别技术的现状与未来发展趋势####
本文深入探讨了智能语音识别技术的发展历程、当前主要技术特点、应用领域及面临的挑战,并展望了其未来的发展趋势。通过对比分析传统与现代语音识别技术的差异,揭示了技术创新如何推动该领域不断前进。文章还强调了跨学科合作对于解决现有难题的重要性,为读者提供了一个全面而深入的视角来理解这一快速发展的技术。 ####
|
人工智能 IDE API
灵动指尖 :阿里云智能编码插件 更好的为IDE内置社区服务
灵动指尖 :阿里云智能编码插件 更好的为IDE内置社区服务
1703 0
|
机器学习/深度学习 自然语言处理 算法
利用机器学习算法进行自动化测试
利用机器学习算法进行自动化测试