时间:2015-04-24 来源:

(KMP1.3)hdu2087剪花布条(求文本串中有几个模式串)【编程语言】

题目:

              KMP.需要注意的是如果文本串text为“aaaaaa”,那么这时候输出的结果应该是3而不是5.

#include<iostream> #include<algorithm> #include<cstdio> #include<cstring> using namespace std; const int maxn = 1001; int n;//文本串的长度 int m;//目标串的长度 char text[maxn];//文本串 char pattern[maxn];//模式串 int nnext[maxn];//next数组.直接起next可能会跟系统中预定的重名 /*O(m)的时间求next数组*/ void get_next() { nnext[0] = nnext[1] = 0; for (int i = 1; i < m; i++) { int j = nnext[i]; while (j && pattern[i] != pattern[j]) j = nnext[j]; nnext[i + 1] = pattern[i] == pattern[j] ? j + 1 : 0; } } /*o(n)的时间进行匹配 * * 返回第一次匹配的位置 */ int kmp() { int ans = 0;//计算文本串中有几个模式串 //初始化在模式串的第一个位置.模式串的下标 int j = 0; for (int i = 0; i < n; i++) {/*遍历整个文本串*/ while (j && pattern[j] != text[i])/*顺着失配边走页面div重构,直到可以匹配,页面div重构最坏得到情况是j = 0*/ j = nnext[j]; if (pattern[j] == text[i])/*如果匹配成功继续下一个位置*/ j++; if (j == m) {/*如果找到了直接输出*/ ans++; /** * 用于处理aaaaaa中aa的个数为3而不是5的情况 */ j=0; } } return ans; } int main() { while (scanf("%s",pattern); n = strlen(text); m = strlen(pattern); get_next(); printf("%d\n", kmp()); } return 0; }

代码如下:

题目分析:

剪花布条Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 10380    Accepted Submission(s): 6684Problem Description一块花布条,web外包里面有些图案网页切图制作,另有一块直接可用的小饰条,div页面里面也有一些图案.对于给定的花布条和小饰条div+css+js切图,计算一下能从花布条中尽可能剪出几块小饰条来呢? Input输入中含有一些数据,div+css+js切图分别是成对出现的花布条和小饰条承接网站前端,其布条都是用可见ASCII字符表示的,承接网站前端可见的ASCII字符有多少个psd切图html,布条的花纹也有多少种花样.花纹条和小饰条不会超过1000个字符长.如果遇见#字符,承接网页制作则不再进行工作. Output输出能从花纹布中剪出的最多小饰条个数web外包,如果一块都没有,web外包那就老老实实输出0,每个结果之间应换行. Sample Inputabcde a3 aaaaaa aa # Sample Output0 3 Authorqianneng Source冬练三九之二 Recommendlcy   |   We have carefully selected several similar problems for you:  3746 3336 1358 2091 3068 

点击次数:2033
作者:
web前端行业资讯
Web new NewsList
谷歌发布Tacotron2:能更简单地训练AI学习演讲 ,,2017年12月21日TensorFlow漏洞爆发背后:关于AI安全我们的傻与天真 ,,2017年12月21日Android端Edge浏览器新版发布:常规性能优化和BUG修复 ,,2017年12月21日三星开发出全球最小的DRAM芯片技术领先优势扩大 ,,2017年12月21日腾讯绝艺AI下一步将学习AlphaGozero自对弈训练 ,,2017年12月21日Facebook社交VR应用Spaces扩大覆盖面:入驻HTCVive ,,2017年12月21日设计图曝光:三星双屏折叠手机原来是这样的 ,,2017年12月21日微信支付和支付宝已成为世界移动支付的"老师" ,,2017年12月21日新专利表明FaceID未来有望装备在iPad、MacBook和iMac等设备 ,,2017年12月21日首批九个建议加入EE4J的项目 ,,2017年12月21日这就是SurfacePhone?微软可折叠手机概念图曝光 ,,2017年12月21日继“Angel”开源后,腾讯又开放TDinsight机器学习平台 ,,2017年12月21日谷歌母公司研发“闪光”网络技术无需铺设线缆 ,,2017年12月21日微软投资5千万美元利用人工智能对抗气候变化 ,,2017年12月21日谷歌中国2017:面向开发者的1年AI先行的1年 ,,2017年12月21日GreenKey加入Symphony软件基金会,将开源语音软件 ,,2017年12月21日腾讯发现者揭秘:怎么应对TensorFlow的安全风险,修复有多难 ,,2017年12月21日清华新成立两大交叉研究机构探索智能与未来 ,,2017年12月21日微软将AI融入生产力工具和搜索引擎与其它巨头竞争 ,,2017年12月21日Gfycat将利用机器学习技术创建高分辨率GIF动图 ,,2017年12月21日安全软件公司Avast开源化机器码反编译器RetDec ,,2017年12月21日谷歌开源TFGAN,让训练和评估GAN变得更加简单 ,,2017年12月21日社区对模块化不感兴趣时隔三周经典版FedoraServer27发布 ,,2017年12月21日Windows10加入OpenSSH客户端 ,,2017年12月21日FirefoxQuantum发布一个月安装量1.7亿 ,,2017年12月21日吴恩达宣布创业新项目已与富士康达成战略合作 ,,2017年12月21日Scala入门系列(十二):隐式转换2017年12月20日speedment入门教程2017年12月20日SLAM入门笔记(1):特征点的匹配2017年12月20日深入浅出了解frame和bounds2017年12月20日dsfghgjhfdsayutreasx【编程语言】2014年12月16日【LeetCode】ContainsDuplicate 【移动开发】2015年05月27日arcgis经纬度坐标的shape面层计算面积的详细步骤 【互联网】2015年03月30日输入数量和价格自动计算输出金额的js代码2014年01月29日cmake使用示例与整理总结 【移动开发】2014年11月11日jsp自定义标签 【研发管理】2015年01月04日【ITOO-工具】一个霸气的项目管理平台--Confluence2015年02月27日2012年公司组织旅游西安线个人记录(repost) 【综合】2015年06月29日网站应用框架生成器Xataface1.3RC6发布 ,,2016年06月29日完美解决javax.mail.SendFailedException:InvalidAddress与SMTPAddressFailedException抛错 【编程语言】2014年12月03日Leetcode---wordBreakII 【编程语言】2015年04月08日svg径向渐变2015年06月11日HTC首款Android4.0手机大曝光 ,,2016年06月23日OpenGL学习05-绘制实心物体 【编程语言】2014年12月12日ArcgisforJs之Graphiclayer扩展详解 【编程语言】2014年11月18日C编译器剖析_尾声 【编程语言】2015年05月05日java中的代理模式2017年01月25日js精确四则运算 【系统运维】2015年03月13日轻松使用JSP生成饼图2014年01月29日LeetCodeOJ之IntegertoEnglishWords(整数转化为英文单词)【编程语言】2015年08月31日树莓派与window10组成的物联网核心:让人失望【编程语言】2015年08月16日【java关键字-Interface】为什么接口中的属性和方法都默认为public 【编程语言】2015年08月29日PHP图形图像操作 【编程语言】2015年07月27日Android实现个性的ViewPager切换动画实战PageTransformer(兼容Android3.0以下) 【综合】2014年11月04日诺基亚:感谢苹果iPhone5我们又活了 ,,2016年06月23日SharePoint2013的限制(二)网站集和列表文档库 【综合】2015年04月07日读秦小波《设计模式之禅》--单例模式 【Web前端】2015年01月04日每天一个JavaScript实例-canvas画图【系统运维】2014年11月04日iOS处理内容乱码问题 【架构设计】2015年05月25日阿里云centos中mysql的安装及一些常识知识 【编程语言】2015年06月11日
我们保证
We guarantee
> psd效果文件手工切图,保证图片效果最好体积最小利于传输
> 100%手写的HTML(DIV+CSS)编码,绝对符合W3C标准
> 代码精简、css沉余量小、搜索引擎扫描迅速,网页打开快捷
> 应用Css Sprite能够减少HTTP请求数,提高网页性能
> 跨浏览器兼容(IE6、7、8、9,Firefox火狐,Chrome谷歌)