【2022】杂货
用于记录一些零碎的东西
16进制表示的最大值
0x7fffffff
map可以二维
map <int,map<int,int> >a
例如这道题:P3613 【深基15.例2】寄包柜 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)
二维map实现代码:
#include <iostream>
#include <map>
using namespace std;
typedef long long ll;
map<int, map<int, int>> box;
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
int n, q;
cin >> n >> q;
while (q--)
{
int t;
cin >> t;
if (t == 1)
{
int a, b, k;
cin >> a >> b >> k;
box[a][b] = k;
}
if (t == 2)
{
int a, b;
cin >> a >> b;
cout << box[a][b] << endl;
}
}
return 0;
}
使用vector输出时,不能关闭cin,cout同步流
如果关闭了同步流,就没有办法正常输出了,具体什么原因我也不知道qwq
(好像没有影响。。。)
在vector中某个位置插入元素
有两个函数,分别是insert(pos,x)和emplace(pos,x);
emplace()的速度比insert()快,因此优先使用emplace()插入元素;
参考文章:C++ STL vector插入元素(insert()和emplace())详解 (biancheng.net)
关于两个数相模
如果x > y , 则 x%y < x/2 ;
如果x < y , 则 x%y = x ;