【黑科技】c++三元数组合并为二元
  9H7mGilFnwVM 2023年11月02日 49 0


简介

三元数组比如说h[i][j][k],来存储一些东西,但是空间调用太大了会爆掉怎么办?
c++有一个三元数组合并为二元的方法。

其实打hash也是可以的

用pair加map

首先

typedef pair<int,int>P;

pair

map<P,int>h[maxn];

然后map< P,int>可以在map中把P映射到int数组里。

j=h[x][P(y,z)];

然后原来的h[x][y][z],就可以打成h[x][P(y,z)]。

成功把三元数组合并为二元

黑科技成功!

这种方法要慎用!

c++map的速度还是挺慢的,可以把map打成hash,虽然代码会长一些。


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

9H7mGilFnwVM