zoukankan      html  css  js  c++  java
  • [Other]阶段总结

    • 这里记录一些近期训练中常见的问题。

    I

    • 常见的写挂原因

    I. 1

    • 某道题,问题经过转化之后,要求支持每个点上维护一个集合,每次加边或者查询某个连通块内所有点对应集合的并集,同时可能有删除操作。

      • 并查集合并时,没有判 find(x) == find(y)

      • 由于是查询并集,故没有判这个东西不会影响正确性,但 (n) 一大就会 TLE

    I. 2

    • 一道计数题,先写了一个 DP。调试时发现这个 DP 的结果要乘上一个阶乘。

      • 可这时候是急着去改的,故凭感觉在某一个 if 语句后面加了一个 cnt++,最后把答案乘上 (cnt!)

      • 过了样例。因为是计数题,感觉很稳(再说了,暴力都写不了)

      • 而样例里刚好正确的 (cnt) 和我程序中算出来的假的 (cnt) 是一样的。

    • 类似的错误还有:函数、变量的含义在写代码时搞混掉。

    I. 3

    • 一道题,给定一些数,不保证这些数互不相同

      • 算法实现的某一步要把所有的数从小到大排序,相同情况下按原下标从小到大排序。

      • 排序的比较函数忘写第二关键字,大样例貌似所有的数互不相同。

    I. 4

    • 某交互题,第一发提交到 OJ 上时得到 CE

    • 一开始以为是开库的原因,于是把 <bits/stdc++.h> 删了

    • 但程序里有个 memset(a, INF, sizeof(a))(实际上只需把 (a[1dots n]) 设为 (infty)

    • 于是把这个 memset 改成了 for (int i = 1; i <= n; i++) a[i] = INF;,没有再测一遍样例。

    • 交上去还是 CE,后来才发现要用 C++11 提交,于是用 C++11 再交了一遍。

      • 可把 memset 改掉时忘了 (n) 是在后面的程序中计算得到的。

      • 也就是说,这时的 (n=0),初始化和没有初始化无区别。

    II

    • 常见的策略失误或时间损耗

    II. 1

    • 题目中的关键信息在比赛中场甚至最后才看到。

    II. 2

    • 仅因为 long long、取模、线段树标记没下传等原因调很久。

    II. 3

    • 套路不熟练导致的时间损耗。

    II. 4

    • 题目顺序、难题长得像简单题等导致的开题策略错误。

    II. 5

    • 也是最重要的:在对拍写过的题和尝试拿更高分之间的选择。

    • 在某些比赛中,这一点处理不好会整场崩盘。

    III

    • 缺乏深入思考,导致时间损耗或该拿的分没拿到

    III. 1

    • 一有思路就开始码题,码完发现有一大堆没考虑到的细节。

    III. 2

    • 一有思路就开始码题,写了一个很麻烦的做法,但如果注意到问题特殊性质则不用那么麻烦。

    III. 3

    • 一有思路就开始码题,写了一个很麻烦的做法,最后假了,心态爆炸。

    IV

    IV. 1

    • Div. 1 有时没有快速进入状态,A 题卡住一段时间。

    IV. 2

    • hash 不随机模数被卡。

    IV. 3

    • 偶尔难度顺序会不正常。下面两个建议:

      • (1)先开当前 pp 人数最多的题。

      • (2)在 Div. 1 场中,遇到 Div. 2Easy VersionDiv. 1Hard Version 的,谨慎开题。

    IV. 4

    • 遇到结论找不到反例但又不会证的题,可以尝试蒙一发交上去。

    V

    • 还有很多,就不一一列举了。

    • 只希望省选之前能有突破吧。

  • 相关阅读:
    第3章 MFC框架程序剖析
    第2章 掌握C++
    第1章 Windows程序内部运行机制
    【MFC】画线
    使用RegSetValueEx修改注册表时遇到的问题(转)
    读书笔记
    POJ 1182[并查集]
    读书笔记
    HihoCoder 1532 : 最美和弦
    HihoCode 1531 : 德国心脏病
  • 原文地址:https://www.cnblogs.com/xyz32768/p/12705499.html
Copyright © 2011-2022 走看看