联赛总结

算法储备

基础

  模拟:e.g

  贪心:e.g

  差分:e.ge.g

  二分:e.g

  三分:e.g  

  分治:e.ge.g

  倍增:e.g

数据结构

  链表:e.g

  堆:e.g

  线段树:e.ge.g

  树状数组:e.g

  ST表:e.g

  莫队:e.ge.g

  分块:e.ge.g

数学

  catalan数:e.g

  exgcde.ge.g

  中国剩余定理e.g

  矩乘:e.g

  费马小定理:e.g

  容斥:e.ge.ge.ge.g

  博弈论e.ge.ge.g

  高斯消元:e.g

  杂:e.g

搜索

  剪枝:e.g

图论

  Tarjan:(强连通分量)e.g,(割点)e.g,(桥)e.g,(边双)e.g,(点双)e.g

  欧拉回路:e.g

  二分图匹配:e.ge.ge.ge.g  ——(最小点覆盖:选择最少的点使所有的边都至少存在一个被选中的端点;最小路径覆盖:选最少的边使得所有的点都是某条边的端点)

  并查集:e.ge.g

  最小生成树:e.ge.ge.g

  差分约束:e.ge.g

  最短路:e.ge.g

  黑白染色:e.ge.g

  拓扑排序:e.g

  树的重心:e.g

  树的直径:e.g

  树上倍增:e.g

  树链剖分:e.g

字符串

  KMP:e.g

  trie树:e.g

  hash:e.g

动态规划

  字符串dp:e.g

  树形dp:e.ge.g

  序列dp:e.g

  背包dp:e.g

  状压dp:e.g  

  递推:e.g


注意事项

  Dijkstra不能处理负边权以及最长路

  Tarjan求割点和求桥的区别:

    割点——dfn[x]<=low[e[i].to](另外判断搜索树根是否为割点——son[x]>1)

    桥——dfn[x]<low[e[i].to]

  差分约束从减数连向被减数

  矩乘注意顺序

  hash是注意进制

  该离散化的离散化,线段树开4倍空间

  容斥统计X能被多少数整除时,每次dfs枚举后取lcm

  模数写错就尴尬了

  题目想清楚了再写,尤其是倍增这种细节容易搞不清的。

  千万别看错题。

  邻接表等数组大小

  图论题读入边的时候m别写成n了

  对拍造数据时要造好,以防全是0,Yes,No的辣鸡数据

  系统堆重载运算符中的小于号和大于号以及堆中记得开LL

  空间别开爆了,数组别开小了。

  最后,别犯智障错误!!别犯智障错误!!别犯智障错误!!重要的事情说3遍。


 emacs考试配置

(defun compile-file() 
	(interactive)
	(compile (format "g++ -o %s %s -g -lm -Wall"(file-name-sans-extension(buffer-name))(buffer-name)))
)
(global-set-key [f9] 'compile-file);;编译
(global-set-key [f7] 'gud-gdb);;gdb
(global-linum-mode t);;行号
(global-set-key (kbd "RET") 'newline-and-indent);;自动换行
(global-hl-line-mode t);;当前行高亮
(show-paren-mode t);;括号匹配
(setq-default cursor-type 'bar);;光标修改为细光标
(setq default-tab-width 4);;tab
(setq c-basic-offset 4)

;;考场必备

(setq scroll-step 1
      scroll-margin 3
      scroll-conservatively 10000);;滑动窗口

(fset 'yes-or-no-p 'y-or-n-p);;Yes or no-->Y or N

(set-frame-parameter (selected-frame) 'alpha (list 85 75))
(add-to-list 'default-frame-alist (cons 'alpha (list 85 75)));;修改透明度

(custom-set-variables
 '(ansi-color-faces-vector
   [default default default italic underline success warning error])
 '(ansi-color-names-vector
   ["black" "red3" "forestgreen" "yellow3" "blue" "magenta3" "deepskyblue" "gray50"])
 '(custom-enabled-themes (quote (deeper-blue)))
);;主题

;;自行修改字体,菜单隐藏,快捷键

模板

.cpp

#include<algorithm>
#include<iostream>
#include<cstdlib>
#include<cstring>
#include<cstdio>
#include<cmath>
#define LL long long
#define inf 2147483640
#define Pi acos(-1.0)
#define free(a) freopen(a".in","r",stdin),freopen(a".out","w",stdout);
using namespace std;



int main() {
	free("");

	fclose(stdin);fclose(stdout);
	return 0;
}

pai

#include<algorithm>
#include<iostream>
#include<cstdlib>
#include<cstring>
#include<cstdio>
#include<cmath>
#define LL long long
#define inf 2147483640
#define Pi acos(-1.0)
#define free(a) freopen(a".in","r",stdin),freopen(a".out","w",stdout);
using namespace std;



int main() {
	int t=0;
	while (++t) {
		printf("%d: ",t);
		system("./data");
		system("./1");
		system("./aaa");
		if (system("diff 1.out aaa.out")) {puts("WA");break;}
		else puts("AC");
	}
	fclose(stdin);fclose(stdout);
	return 0;
}

data

#include<algorithm>
#include<iostream>
#include<cstdlib>
#include<cstring>
#include<cstdio>
#include<cmath>
#define LL long long
#define inf 2147483640
#define Pi acos(-1.0)
#define free(a) freopen(a".in","r",stdin),freopen(a".out","w",stdout);
using namespace std;



int main() {
	freopen("","w",stdout);
	srand(time(NULL));
	
	
	fclose(stdin);fclose(stdout);
	return 0;
}

一波人品

#include<win.h>
using namespace zyt;
int main() {
    while (1) rp++;
    return 0;
}

UPD

  DAY1考试迟到,心态爆炸,崩了。总结几点:

  1.不要总想着还有多久的时间

  3.开场一定要先看一遍题,看看部分分,安排好做题顺序

  3.不要总是担心自己要挂了,10分钟没有正解思路果断暴力

 

posted @ 2016-11-13 14:56  MashiroSky  阅读(547)  评论(2编辑  收藏  举报