icpc回顾·暑假
一个月的休息顺利结束了。。昨天到的学校。今天就得开始准备明天在机房的网络赛了。。(貌似过几天以后还有计算机2级。。wtfk!!)好吧我承认我暑假icpc的东西忘的差不多了。。TT。。所以我需要在接下来的一个小时到两个小时内在这篇文章里回想起我暑假21天所学的东西。。
时间顺序。。
topic1:搜索+dp。除了真正的图的dfs跟bfs有点规律可以寻找外其他的都是没什么规律性的东西。纯碎的靠自己去悟。。悟性啊。。只能无尽的刷题。。刷题。。题。。
topic2:图论。。最短路径的spfa。。对于我这种看到证明就头大的。。还是就直接来看看他是怎么使用的吧。。spfa大致思路是这样的。。首先把原点入队。然后一直执行如下操作直到队列为空。。把队首元素pop出来。。如果此时该点的邻接的边的距离加上已计算的原点到该点的距离小于原先的原点到该邻接点的最短距离则更新该邻接点的最短距离。。如果该邻接点不再队中把该邻接点入队。。循环去吧。。finished。。最小生成树的prim。。主要就是优先队列了。。从任意一个点开始。。循环直到队列为空(貌似没必要)。。找出该点邻接边入优先队列。。pop对首元素为已选边。。把该边的另一个点作为已选点。。循环去吧。。finished。。有向图的强联通分量tarjan。。跳过这直接看模版去吧- -||。。并查集。。找出一个点所在集合的算法。。easy。。当然前提是要看出了这是个并查集的题目。。
topic3:数论。。数论主要是一些常见的定律。。数列什么的要知道。。这首先是卡特兰数:http://www.cnblogs.com/cj695/archive/2012/07/28/2612904.html。。还有一些定律什么的全部在课件上面回顾了。。还有一个快速幂。。顺便提一个自己发现的一个小东西(估计前人好几百年前就发现了- -)。。对于一个组合数(c(n,k)n个取k个,,)来说。。把k取1到n。。c(n,k)其中的奇数数为2的该数二进制中1的个数的次方。。
topic4:博弈论。。博弈论的话主要就是必胜态跟必败态的判断了。。大多数情况下说白了就是找规律填数字。。另一个就是sg函数(碰到多堆的情况下)。。
topic5:树状数组。。用于统计某个区间中元素的个数。。见模板把。。
topic6:还有一个rmq。。但想睡觉了。。床上想去了。。明天发上来
(未完。。)
独立博客:http://nfeng.cc/