(二维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);
  }
}
目录
打赏
0
0
0
0
0
分享
相关文章
计算机网络的类型
本文介绍了网络的分类,涵盖按覆盖范围(PAN、LAN、MAN、WAN)、使用场景(公网、外网、内网)、传输介质(有线、无线)、特殊类型(VLAN、SAN、网络桥接、接入网)及拓扑结构(总线型、星型、树型、环型、网状型)和交换方式(电路交换、报文交换、分组交换)等,详细阐述了各类网络的特点和技术。
464 2
灵动指尖 :阿里云智能编码插件 更好的为IDE内置社区服务
灵动指尖 :阿里云智能编码插件 更好的为IDE内置社区服务
1249 0
新手指南:Google邮箱注册全过程步骤教学
对于从事外贸、需要与外国客户或朋友沟通的小伙伴来说,拥有一个Google账号(也就是Gmail账号,下文统一用Google邮箱来表述)至关重要!
【制作100个unity游戏之25】3D背包、库存、制作、快捷栏、存储系统、砍伐树木获取资源、随机战利品宝箱3(附带项目源码)
【制作100个unity游戏之25】3D背包、库存、制作、快捷栏、存储系统、砍伐树木获取资源、随机战利品宝箱3(附带项目源码)
93 0
runcon命令简介及用途
`runcon`是Linux的SELinux工具,用于在特定安全上下文中运行命令,加强进程权限控制。它允许管理员改变进程的安全上下文,提高安全性,隔离环境,并满足安全标准。命令参数如`-u`(用户),`-r`(角色),`-t`(类型)指定上下文。示例包括以非特权用户身份或特定上下文运行命令。使用时需注意确保SELinux启用,正确指定上下文,并遵循最小权限原则和定期审计。
Redis 从入门到精通之实现自动补全功能
Redis 可以很方便地实现自动补全功能,即根据用户输入的部分关键字,自动补全匹配的候选项。下面是一个使用 Redis 实现自动补全功能的示例,假设我们要实现一个搜索引擎的自动补全功能,根据用户输入的关键字,自动补全匹配的搜索词: 将搜索词存储到有序集合中:对于每个搜索词,可以将其拆分成多个前缀(prefix),然后将每个前缀作为有序集合的成员(member),并将搜索词的权重作为成员的分数(score)。例如,对于搜索词 "apple",可以将其拆分成 "a"、"ap"、"app"、"appl" 和 "apple" 这五个前缀,然后将它们分别作为有序集合的成员,权重设置为搜索词的权重。可以使
494 65
探索Python在数据科学中的应用:从数据处理到深度学习
本文全面探讨了Python语言在数据科学领域的关键应用,突破了传统摘要的界限,采用故事化手法引入主题。我们从一个数据科学项目的起点出发,描述了一个数据科学家如何使用Python进行数据收集、清洗、分析、可视化,以及如何应用机器学习和深度学习模型来提取洞见和做出预测。文章不仅阐述了Python在各个环节的具体应用,还介绍了相关的库和工具,旨在为读者提供一个关于Python在数据科学中应用的全景视图。
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问