考前防脑瘫防挂分预防针

熟背以下板子,并在考试开始时用 \(5min\) 写出来

一定不要忘记写文操!

加入编译选项:-std=c++14 -DDADALZY

#include <bits/stdc++.h>
using namespace std;

namespace FastIO
{

template<typename T>
inline void read(T &x)
{
    char ch,sym=0;x=0;
    while(isspace(ch=getchar()));
    if(ch=='-') sym=1;
    for(;isdigit(ch);x=(x<<1)+(x<<3)+(ch^48),ch=getchar());
    if(sym) x=-x;
}
template<typename T>
inline void write(T x)
{
    if(x<0) return putchar('-'),write(-x);
    char stk[64],*top=stk;
    do *(++top)=x%10+'0',x/=10; while(x);
    while(top!=stk) putchar(*(top--));
}
template<typename T>
inline void writesp(T x) { write(x),putchar(' '); }
template<typename T>
inline void writeln(T x) { write(x),putchar('\n'); }

} // namespace FastIO
using namespace FastIO;

using LL=long long;
using LD=long double;
using UI=unsigned int;
using ULL=unsigned long long;

#ifndef DADALZY
#define FILEIO(file) freopen(file".in","r",stdin),freopen(file".out","w",stdout);
#else
#define FILEIO(file) freopen("input.in","r",stdin)
#endif

int main()
{
    FILEIO("");
    
    return 0;
}

做题策略

  • 一定先看完所有的题,挑最简单的开始;

  • 一定不要在一道题上连续肝两小时以上;

  • 一定要思考两次之后才写代码,正确性第一;

  • 一定要把暴力分打满,能拿的分不能丢;

  • 因此在毙掉某些做法前一定要先看看可以拿多少分;

  • 如果一直想不出解法,需要及时转化生产动力,优化经济结构;

  • 错误的解法有可能加了特判之类的可以水过随机数据;

  • 一定要在 \(\text{NOI Linux}\) 上自测自己的代码。

一些套路

  • 树套树空间爆了考虑把内层换成平衡树;

  • \(DP\) 如果状态范围爆炸了可以考虑其反函数;

  • 树上数路径 \(\to\) 点分治;

  • 序列问题且数据范围 \(100\) 左右 \(\to\) 区间 \(DP\)

  • 有些操作在原序列比较难处理,可以考虑前缀和以及差分数组;

  • 数数题如果正着比较难 \(\to\) 反着来;

  • 数学题 \(\to\) 打表找规律;

  • DP 如果转移比较复杂 \(\to\) 考虑优化状态设计;

一些优化

  • 非递归函数随手加 inline

  • std::set \(\to\) std::unordered_set

  • std::set/std::mapcount() 方法判断键值存在会更好*(注意 std::multiset/std::multimapcount() 方法复杂度是 \(O(c)\));

  • 清零不要什么时候都用 memset

易错细节

  • 分清 \(n\)\(m\),也不要搞混 \(i\)\(j\)

  • 不要什么都开 long long,但是要开的一定要开;

  • 当然有时候需要 __int128

  • 当然在某些函数传参的时候别忘了也需要 long long

  • 数组一定要开够;

  • 点分治的时候不要找完重心 \(rt\) 之后还是 dfs(v)。这虽然答案不会错,但是会全部 \(TLE\) 且难以察觉;

  • \(\text{Splay}\) 一定记得什么操作完都要把找到的最后一个节点 splay 到根。

posted @ 2021-11-16 12:41  ExplodingKonjac  阅读(35)  评论(1编辑  收藏  举报