- 1、本文档共200页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
邝斌的ACM模板分析
2、凸包1383、平面最近点对(HDU1007)1394、旋转卡壳1405、半平面交1466、三点求圆心坐标(三角形外心)1497、求两圆相交的面积1508、Pick公式150动态规划1501、最长上升子序列O(nlogn)150搜索1511、DancingLinks151其他1561、高精度1562、完全高精度1583、strtok 和sscanf结合输入1634、解决爆栈,手动加栈1635、STL1636、输入输出外挂1657、莫队算法1668、VIM配置172改版者言:此版本是由2013-11-8月上传的pdf文档改版的。非2013-9-27版本的改版。做了写简单处理内部代码没动过但是:本文的格式发生改动部分文字的格式出现问题一些表达式已无法辨认代码中少量大括号错位目录无法正常使用,字符串处理1、KMP 算法/** 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(im){while(-1!=j x[i]!=x[j])j=next[j]; next[++i]=++j;}}/** kmpNext[]的意思:next[i]=next[next[...[next[i]]]] (直到next[i]0或者x[next[i]]!=x[i])* 这样的预处理可以快一些*/void preKMP(char x[],int m,int kmpNext[]){int i,j; j=kmpNext[0]=-1; i=0;while(im){while(-1!=j x[i]!=x[j])j=kmpNext[j]; if(x[++i]==x[++j])kmpNext[i]=kmpNext[j]; else kmpNext[i]=j;}}/** 返回x在y中出现的次数,可以重叠*/int next[10010];int KMP_Count(char x[],int m,char y[],int n){//x是模式串,y是主串int i,j;int ans=0;//preKMP(x,m,next); kmp_pre(x,m,next); i=j=0;while(in){while(-1!=j y[i]!=x[j])j=next[j]; i++;j++;if(j=m){ans++; j=next[j];}}return ans;}经典题目:POJ 3167/** POJ 3167 Cow Patterns* 模式串可以浮动的模式匹配问题* 给出模式串的相对大小,需要找出模式串匹配次数和位置* 比如说模式串:1,4,4,2,3,1 而主串:5,6,2,10,10,7,3,2,9* 那么2,10,10,7,3,2就是匹配的** 统计比当前数小,和于当前数相等的,然后进行kmp*/#include iostream#include stdio.h#include string.h#include algorithm#include vector using namespace std; const int MAXN=100010; const int MAXM=25010; inta[MAXN];int b[MAXN];int n,m,s;int as[MAXN][30];int bs[MAXM][30];void init(){for(int i=0;in;i++)if(i==0){for(int j=1;j=25;j++)as[i][j]=0;}else{for(int j=1;j=25;j++)as[i][j]=as[i-1][j];}as[i][a[i]]++;}for(int i=0;im;i++){if(i==0){for(int j=1;j=25;j++)bs[i][j]=0;}else{for(int j=1;j=25;j++)bs[i][j]=bs[i-1][j];}bs[i][b[i]]++;}}int next[MAXM];void kmp_pre(){int i,j; j=next[0]=-1; i=0;while(im){int t11=0,t12=0,t21=0,t22=0;for(int k=1;kb[i];k++){if(i-j0)t11+=bs[i][k]-bs[i-j-1][k]; else t11+=bs[i][k];}if(i-j0)t12=bs[i][b[i]]-bs[i-j-1][b[i]]; else t12=bs[i][
您可能关注的文档
最近下载
- 2025河北秦皇岛市海港区招聘中小学教师371人笔试参考题库附答案解析.docx VIP
- 《项目管理基础教程》课件.ppt VIP
- 青霉素过敏试验及过敏反应的预防(共35张PPT).pptx VIP
- 第一章 运动的描述【速记清单】(解析版)-2024-2025学年高一物理单元速记·巧练(人教版2019必修第一册).docx VIP
- 第二章 匀变速直线运动的研究【速记清单】(解析版)-2024-2025学年高一物理单元速记·巧练(人教版2019必修第一册).docx VIP
- 农行某市支行各岗位廉政风险点及防控措施一览表(最新最全面版本) .pdf VIP
- Positioning课件.ppt VIP
- 建行某市支行各岗位廉政风险点及防控措施一览表(最全最新版本) .pdf VIP
- 徕卡TS30全站仪简易操作说明.pdf VIP
- 川渝地区矿山生态修复技术规范 第二部分 建材矿山.pdf VIP
文档评论(0)