• VSCode 从入门到更加入门

    VSCode 介绍

    VSCode 是一款强大的编辑器,至少在对于 OIer 来说 VSCode 是最好的选择,VSCode 是轻量级编辑器,不像 VS 或者 Clion 一样是重量级编辑器,不方便 OIer 使用(并且还疯狂占用 CPU);也不像 Dev-cpp 一样尽管可以直接使用,但是功能却一言难尽……这个时候就要看 VSCode 了!
    VSCode 支持打开文件夹,代码补全,代码片段插入,强大的调试功能,Markdown 的编辑和浏览,括号匹配,本地历史记录保存,修改代码缩进风格,内部控制台,连体字符,内置 git,内置编码查看修改,代码查看,宏展开等等……绝对是 OIer 的不二之选。


  • ABC127C Prison 题解

    题意:给一个长度为 $n$ 的 01 字符串,要让这个字符串的每个 1 之间的距离恰好都为 $k$,请问至少要修改几个字符。


  • CF1353E K-periodic Garland 题解

    题意:给一个长度为 $n$ 的 01 字符串,要让这个字符串的每个 1 之间的距离恰好都为 $k$,请问至少要修改几个字符。


  • UVA1632 阿里巴巴 Alibaba 题解

    简单题意:数轴上有 $n$ 个点,已知每个点的坐标 $a_i$ 和毁灭时间 $t_i$ 。开始时可以选择任意一点空降,每刻可以选择向左或者向右移动 $1$ 的单位长度,求出经过所有点的最短时间,如果不可能输出 No solution


  • SP18202 HG - HUGE GCD 题解

    题目大意是求 $N$ 和 $M$ 的最大公因数,所以考虑将 $N$ 和 $M$ 质因数分解求出每个质因子,由于 $N$ 和 $M$ 都是很大很大的数字,所以采取对 $N$ 和 $M$ 的因子进行质因数分解。


  • 简单的最大值 题解

    gcd-lcm

  • Lamps 题解

    Lamps

  • C++ 卡常技巧

    常见误区

    1. 尽可能使用位运算, <<1*2 快, >>1/2 快,用 &1 代替 %2,用三次 ^ 代替 swap(x<<3)+(x<<1) 代替 x*10
    2. 尽可能把 i++ 变成 ++i,因为 i++ 处理时会使用临时变量储存原先 i 的值
    3. 简单函数前使用 inline,或者干脆使用 #define,因为函数调用会浪费时间
    4. 字符串较短时使用 putchar,较长时使用 printf,但是如果要换行,一定要用 puts
    5. 数组尽量开奇数个(我也不知道什么原理)
    6. 使用 register 优化循环变量
    7. 手写函数,比如 max abs swap 等,还有 STL
    8. if 语句比三目运算符要慢,逗号运算符比分号运算符要快
    9. 使用直接初始化 int maxn(-1) 代替复制初始化 int maxn=-1
    10. std::pair 常数大
    11. cin.tie(nullptr) 没有用
    12. 万能头,using namespace std; 很慢
    13. std::vector 常数巨大,不如链式前向星
    14. 结构体封装慢
    15. whilefor

  • CF1384A Common Prefixes 题解

    A. Common Prefixes


  • LGP6353 [COCI2007-2008#3] OKTALNI 题解

    [COCI2007-2008#3] OKTALNI


  • 8
  • 9