NOIP考前划水

NOIP考前划水


君指先跃动の光は、私の一生不変の信仰に、唯私の超電磁砲永世生き!


要开始背配置了?

3行不谢.

(setq c-default-style "awk")
(global-linum-mode t)
(global-set-key (kbd "RET") 'newline-and-indent)

蒯一些别人写的联赛考点:

基础算法

基础数据结构

基础图论

基础字符串

基础数论

基础博弈论


考试注意事项

  • 如果读入long long,记得修改读优
  • inf根据题目设置
  • ​数组大小(邻接表,网络流点数)
  • 注意不要偷懒把re()直接传参,先开变量存下来
  • 注意单调队列进出队的判断条件都是l<=r而不是l<r,初始化l=1,r=0
  • Dinic连边时反边的初始边权为0,计边数的cnt初值为1!!!
  • 费用流双向边不可缩
  • 注意二分边界
  • 线段树的区间赋值可能赋值成0,注意懒标记要初始化为-1
  • 分块扫左端边角块时注意枚举的右端点与r取min!!!
  • 倍增注意先进行统计(距离,答案...)操作再u=f[i][u]!!!(锅了无数次了...)
  • 取模(读入取模,三个累加也要模两遍)!!!!!!!!!!!
  • 图论注意起点的设置,不一定都是1为起点
  • 记住随机树表示树高链长期望log
  • lower_bound(大于等于);upper_bound(大于);--lower_bound(小于);--upper_bound(小于等于)
  • 要处理有关区间去重的问题时,常用到离线算法
  • 注意\(x^k\mod p\neq x^{k\mod p}\mod p\),所以不要不小心把指数模掉了
  • \[1^2+2^2+..+n^2=\frac{n(n+1)(2n+1)}{6} \]

  • \[1^3+2^3+...+n^3=\frac{n^2(n-1)^2}{4} \]


高级方法

枚举子集

for(int i=s;;i=(i-1)&s){
  //do sth
  if(!i)break;
}

整除分块

求$$\sum_{i=1}^n\lfloor \frac{n}{i}\rfloor$$

for(int l=1,r;l<=n;l=r+1){
  r=n/(n/l);
  ans+=(r-l+1)*(n/l);
}

啃锅计划(去年联赛考题任务)

posted @ 2018-10-22 22:46  sdzwyq  阅读(207)  评论(5编辑  收藏  举报