ACM CSP竞赛笔记(八)——STL-sort排序的使用

STL

完整板子可以去资源看,我设置的0积分应该是免费的,如果拿不到可以B站私我。

排序sort()

正序

cpp 复制代码
sort(num.begin(), num.end()); 

逆序

cpp 复制代码
// rbegin() 指向最后一个元素,rend() 指向第一个元素的前一个位置
sort(num.rbegin(), num.rend()); 

自定义类型使用sort()

如果 cmp(a, b) 返回 truesort 就认为 a 应该排在 b 的前面。

如果 cmp(a, b) 返回 falsesort 就认为 a 应该排在 b 的后面(或者顺序不变)。

第二关键词排序

cpp 复制代码
// 比较函数:优先按时间升序;时间相同时,按原始编号(idx)升序
bool cmp(const Node& a, const Node& b) {
    if (a.t != b.t) return a.t < b.t;
    return a.idx < b.idx;
}

精度限制输出

cpp 复制代码
cout << fixed << setprecision(10) << ans << endl;

清空/初始化 Memset

对象、多少、大小sizeof

cpp 复制代码
memset(arr, 0, sizeof(arr)); // 将整个数组的每个字节设为0