众所周知,一维数组最多开到 10^8,否则就会数组越界,那么怎么开一个超大数组呢?
以map为例:
map<int ,int >ma;
此时插入元素可以写为ma【i】==**;
i只需在int范围就可。
将int改为longlong,可以获得10^20的快乐。
如果是多维数组呢?
那就写成map< <int , int>,int>;
插入元素ma[i][j]==**;
但是,有一点需要注意
map/set的查找和访问效率要比数组慢
数组效率为o(1);由指针直接操作。
而map和set的操作效率为o(logn^m)(m为数据维数);
也就是说,滥用容易超时。