话说,我为什么执着于整理这个模板呢?既费时又费力,差不多,五十天都在忙这个。
想来,原因挺多的,毕竟网上模版那么多,如果单单只是其中任何一条存在,我一定不会这样卖力整理。
最直接的原因,上一次的acm竞赛,让我深深认识到了模版的重要性,也让我感到了不适,比赛时很乏力。
说起来不适,就不得不承认一点,我的知识储备量严重不足,不足以驾驭模版,至于另一点则是对模版不熟悉,无法快/速查阅。其实还有第三点原因,这个原因只会出现在我这种人面前,那就是编码规范问题。
很多人,一开始就没有养成严格的编码规范,所以平时看到一些不是太规范的代码也没有什么不适,而像我这种执着于编码规范的人,已经出现了强迫症,看着那些不是太舒服的代码,很容易急火攻心。说起规范,其实有很多种,但是让人最一目了然的,我想一定不是那些能省则省的编码(这是我要自己重新整理的重要原因)。
这样,待到以后acm竞赛时,我就可以导出此模版,打印好(^o^)/~那么竞赛一定会如虎添翼的,模版出奇迹嘛~~~
说起来间接原因,主要是两点,首先是,通过整理模版,我可以快/速建立起知识体系,在整理的过程中,全部是手打,所以对模版的体系很清晰,这也成就了我的知识体系的雏形。其次,在以后的学xi、刷题过程中,可以通过这个在线模版快/速查找,出现问题和漏洞快/速修改,当然也很希望有志同道合的人能够给我提出错误,帮助我完善这份模版。
其实,还有辣么一丢丢小心思是,我的csdn排名可以提前很多……浏览量也在快/速增加,这是一个令人兴奋的事-_-#
ps:为避免模版整理后重复性过高,使其冗杂,一律不添加头文件和命名空间。欢迎提出模版修改建议~~~
index分类细则说起分类准则,我也是很头疼,毕竟对于很多算法,他并不是单调的,而是多方面的都挂得上钩。所以,从始至终,分类准则一直都是我很纠结的问题。
经过思量,首先分出比较主流的几类:number、graph、network、structure、geometry;
接着,考虑到c++是acm的重头戏,而stl又是其中浓墨重彩的一笔,所以专门分出一类stl来总结一下;
然后又分出string一类,毕竟字符串相关算法也是挺多的啊;
最后,总得有一类other吧!
虽说,分类分好了,可是有的算法真的不知道归到哪一类更合适,因为总有些算法既涉及到数论,也会涉及到数据结构,或者其他情况也时常有。但是为了避免重复,我只好依自己拙见,把他放在了自己感觉最合适的分类中。
stl
number
string
graph
network
structure
geometry
other
目录stl 标准模版库stl 简介stl pairstl setstl ve ctorstl stringstl stackstl queuestl mapstl bitsetstl iterator简介stl algorithmnumber 数论欧拉函数phigcd线性方程组(高斯消元)模线性方程(组)素数相关合数相关组合数学相关polya计数最/大1矩阵约瑟夫环问题博弈论周期性方程阶乘排列组合求逆元fftfwt整数划分a^b约数之和莫比乌斯反演baby-step giant-stepsimpson积分多项式求根星期问题汉诺塔斐波那契数列1/n循环节长度矩阵相关反素数容斥母函数数论相关公式string 字符串编辑距离kmp算法扩展kmp最短公共祖先karp-rabin算法manacher最长回文子串strstr函数sunday algorithmac自动机后缀数组后缀自动机字符串 hashgraph 图论最短路第k短路最小生成树(森林)次小生成树曼哈顿最小生成树欧拉路径dag的深度优先搜索标记图的割点、桥和双连通分支的基本概念无向图找桥无向图连通度(割)最/大团问题最小树形图一般图匹配带花树lca生成树计数有向图最小树形图有向图的强连通分量双连通分支弦图判断弦图的perfe/ct elimination点排列稳定婚姻问题拓扑排序无向图连通分支有向图强连通分支有向图最小点基floyd求最小环2-sat树的重心network 网络流二分图匹配相关无向图最小割最/大流最小费用流有上下界的流最/佳边割集最/佳点割集最小边割集最小点割集最小覆盖问题structure 数据结构划分树左偏树线段树伸展树动态树主/xi树trie树treaprmq树链剖分二分查找树状数组滚动数组逆序数带权值的并查集快排机器工作调度大数四则运算取第k个元素最长公共递增子序列0-1分数规划最长有序子序列最长公共子序列最少找硬币问题棋盘分割区间最/大频率堆栈莫队算法背包相关使序列有序的最少交换次数geometry 计算几何graham求凸包判断线段相交判断四点共面判断线段与圆是否相交求多边形重心三角形相关重点平面最近点对旋转卡壳半平面交计算几何相关公式liuctic计算几何库other 其他数据类型的取值范围输入输出外挂总结解决爆栈,手动加栈
西安飞凡网络技术咨询有限公司
400 011 2010