ForeWord 六月六开始(话说,开始的日子真是个吉利的日子)到七月廿六,五十天整,终于将ACM在线模版整理完毕,想想还有点小激动呢~ 话说,我为什么执着于整理这个模板呢?既费时又费力,差不多,五十天都在忙这个。 想来,原因挺多的,毕竟网上模版那么多,如果单单只是其中任何一条存在,我一定不会这样卖力整理。 最直接的原因,上一次的ACM竞赛,让我深深认识到了模版的重要性,也让我感到了不适,比赛时很乏力。 说起来不适,就不得不承认一点,我的知识储备量严重不足,不足以驾驭模版,至于另一点则是对模版不熟悉,无法快速查阅。…

2021年3月31日 0条评论 13点热度 阅读全文

ACM模版 拓扑排序 /* * 拓扑排序 * INIT:edge[][]置为图的邻接矩阵;cnt[0...i...n-1]:顶点i的入度。 */ const int MAXV = 1010; int edge[MAXV][MAXV]; int cnt[MAXV]; void TopoOrder(int n) { int i, top = -1; for (i = 0; i < n; ++i) { if (cnt[i] == 0) { // 下标模拟堆栈 cnt[i] = top; top = i; } } f…

2016年7月18日 0条评论 4点热度 阅读全文

ACM模版 扩展KMP /* * 扩展KMP * next[i]:x[i...m-1]的最长公共前缀 * extend[i]:y[i...n-1]与x[0...m-1]的最长公共前缀 */ void preEKMP(char x[], int m, int next[]) { next[0] = m; int j = 0; while (j + 1 < m && x[j] == x[j + 1]) { j++; } next[1] = j; int k = 1; for (int i = 2;…

2016年6月19日 0条评论 3点热度 阅读全文

ACM模版 KMP算法 KMP_Pre /* * next[]的含义,x[i - next[i]...i - 1] = x[0...next[i] - 1] * next[i]为满足x[i - z...i - 1] = x[0...z - 1]的最大z值(就是x的自身匹配) */ void KMP_Pre(char x[], int m, int next[]) { int i, j; j = next[0] = -1; i = 0; while (i < m) { while (-1 != j &&…

2016年6月16日 0条评论 3点热度 阅读全文