(二维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 语言 】移位操作符详解
786 0
|
11月前
|
存储 安全 物联网
计算机网络的类型
本文介绍了网络的分类,涵盖按覆盖范围(PAN、LAN、MAN、WAN)、使用场景(公网、外网、内网)、传输介质(有线、无线)、特殊类型(VLAN、SAN、网络桥接、接入网)及拓扑结构(总线型、星型、树型、环型、网状型)和交换方式(电路交换、报文交换、分组交换)等,详细阐述了各类网络的特点和技术。
736 2
|
资源调度 算法 Linux
Linux进程/线程的调度机制介绍:详细解析Linux系统中进程/线程的调度优先级规则
Linux进程/线程的调度机制介绍:详细解析Linux系统中进程/线程的调度优先级规则
3252 0
|
Java 关系型数据库 MySQL
idea搭建SpringBoot项目框架的两种方式
idea搭建SpringBoot项目框架的两种方式
idea搭建SpringBoot项目框架的两种方式
|
监控 安全 搜索推荐
新手指南:Google邮箱注册全过程步骤教学
对于从事外贸、需要与外国客户或朋友沟通的小伙伴来说,拥有一个Google账号(也就是Gmail账号,下文统一用Google邮箱来表述)至关重要!
|
人工智能 IDE API
灵动指尖 :阿里云智能编码插件 更好的为IDE内置社区服务
灵动指尖 :阿里云智能编码插件 更好的为IDE内置社区服务
1511 0
|
机器学习/深度学习 自然语言处理 算法
利用机器学习算法进行自动化测试
利用机器学习算法进行自动化测试
|
SQL Java 数据库连接
详解Mybatis之自动映射 & 自定义映射问题(上)
详解Mybatis之自动映射 & 自定义映射问题(上)
|
运维 监控 Linux
"熬夜达人揭秘:Linux系统崩溃前夜,如何用这几行代码救局?监控与排查全攻略!"
【8月更文挑战第19天】作为常需熬夜的系统管理员,面对Linux系统问题时,我总结了一套实用的监控与排查方法。通过使用`top`监控CPU使用率、`free`检查内存状况、`iostat`监测磁盘I/O、及`iftop`观察网络流量,结合`ps`、`pmap`和`strace`等工具深入分析,可有效识别并解决系统瓶颈,减少故障处理时间,保障系统稳定运行。
134 0
|
存储 NoSQL 搜索推荐
Redis 从入门到精通之实现自动补全功能
Redis 可以很方便地实现自动补全功能,即根据用户输入的部分关键字,自动补全匹配的候选项。下面是一个使用 Redis 实现自动补全功能的示例,假设我们要实现一个搜索引擎的自动补全功能,根据用户输入的关键字,自动补全匹配的搜索词: 将搜索词存储到有序集合中:对于每个搜索词,可以将其拆分成多个前缀(prefix),然后将每个前缀作为有序集合的成员(member),并将搜索词的权重作为成员的分数(score)。例如,对于搜索词 "apple",可以将其拆分成 "a"、"ap"、"app"、"appl" 和 "apple" 这五个前缀,然后将它们分别作为有序集合的成员,权重设置为搜索词的权重。可以使
528 99