26建华暑期集训 CSP-J 模拟赛(8/11)总结

开智了,比某些初二的还高

题目 A 收集数字 B [GESP五级202603] 找数 C 子数组和 II
分数 100 50 96
错因 / 采用双重暴力循环,时间复杂度 O (nm),大数据超时,仅过小样例得部分分 哈希冲突,unordered_map哈希碰撞导致 TLE,替换为map后 AC
改进 使用排序 + 二分查找 / 哈希表,把复杂度降到 (O((n+m)\log n)),避免双重循环 遇到 unordered_map 超时优先怀疑哈希碰撞;两种方案:①改用 map (对数复杂度);②给 unordered_map 自定义哈希 / 开 reserve;做题时对时间复杂度做预估

仿ZhaiZihe的总结👇

A.(100)

错因:/

(思路正确,成功满分)

B.(50)

错因:暴力双重循环复杂度太高大数据超时,仅拿到部分小样例分

(看到 1e5 级别数据禁止直接双重循环,优先二分 / 哈希,做题先估算时间复杂度)

C.(96)

错因:unordered_map 发生哈希碰撞导致 TLE,算法逻辑本身无错

(注意 unordered_map 最坏时间风险;备选方案:map、reserve,容器特性要记牢)