摘要: 把T串扩展成两倍 然后KMP 注意T的长度要大于P的长度#include #include #include #include using namespace std;char P[400005];char T[400005];int f[400005];void getfail(){ int m=strlen(P); f[0]=0;f[1]=0; for(int i=1;i=strlen(P))printf("yes\n"); else printf("no\n"); } return 0;} 阅读全文
posted @ 2013-08-10 00:17 坚固66 阅读(316) 评论(0) 推荐(0) 编辑
摘要: 概述 这篇博客和之前博客有些重复的部分,如果要详细了解相应部分内容,可以到相应连接博客中查看。本篇博客主要介绍了什么是ASP.net,ASP.net在浏览器和服务器端的交互过程,ASP.net服务器端控件和客户端控件的区别。可能解释的不太清楚,如果要是对其中内容有什么疑问的话,可以在评论中告知,咱们一起讨论讨论! 万维网和HTML 在这里我们不讲为什么有了万维网,以及万维网给我们带来的好处,我们只讲它的实现,万维网万维网就是资源共享网,不是物理网络,是建立在物理网络之前的网络,是一个虚拟的网络,是一个通过软件之间通话(http)传递数据的网络,ok,这里说到数据,那么数据在传递的过程中... 阅读全文
posted @ 2013-08-10 00:15 坚固66 阅读(598) 评论(0) 推荐(0) 编辑
摘要: 前一阵子遇到一个问题,程序打包后,在某个界面总是崩溃,device log只打印了exited abnormally with signal 11: Segmentation fault 网上找了下相关信息,发现这个错误大多是跟内存操作相关,可是我们debug调试的时候明明没问题的呀? 于是用release证书调试,果然程序在那个界面发生了崩溃,检查原因,原来某同事写的一个成员变量的property属性写成了assign,而这个属性又是当前view的一个子view,所以生成后就立马被释放了(我们这个项目是在ARC下),而assign实际上又是unsafe_unretain的,即变成了一个野指针 阅读全文
posted @ 2013-08-10 00:13 坚固66 阅读(593) 评论(0) 推荐(0) 编辑
摘要: 引子:线程死锁曾是多少程序员的噩梦,每每为此食不甘味,夜不成寐,一句话:苦不堪言。本文从几个场景入手,试图解开产生死锁的原因之谜。教科书:说的很具体,理解很抽象关于死锁产生的原因《操作系统》中有比较好的说明:(1)因为系统资源不足。(2)进程运行推进的顺序不合适。(3)资源分配不当等。关于死锁出现的必要条件也有比较具体的说明:(1)互斥条件:一个资源每次只能被一个进程使用。(2)请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。(3)不剥夺条件:进程已获得的资源,在末使用完之前,不能强行剥夺。(4)循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。这四个条件是死锁 阅读全文
posted @ 2013-08-10 00:11 坚固66 阅读(1960) 评论(0) 推荐(0) 编辑
摘要: GNU就是GNU's Not Unix的缩写, GNU 的创始人Stallman 认为UNIX 虽然不是最 好的操作系统,但是至少不会太差,而他自信有能力把UNIX不足的地方加以改进,使它 成为一个优良的操作系统, 就是名为 GNU的一个同UNIX兼容的操作系统,并且开发这 个系统的目的就是为了让所有计算机用户都可以自由地获得这个系统。任何人都可以免费 地获得这个系统的源代码,并且可以相互自由拷贝。因而在使用GNU软件的时候我们可以 理直气壮地说我们使用的是正版软件。当然GNU也是有自己的版权声明(即GPL,见附 录A)的,就是它有名的Copyleft(相对于版权的英文Copyri.. 阅读全文
posted @ 2013-08-10 00:09 坚固66 阅读(857) 评论(0) 推荐(0) 编辑
摘要: android.os.NetworkOnMainThreadException08-08 17:53:30.635 I/ArticleTable(22461): 添加成功 5808-08 17:53:30.648 W/System.err(22461): at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1099)08-08 17:53:30.648 W/System.err(22461): at libcore.io.BlockGuardOs.recvfrom(BlockGuardOs.j.. 阅读全文
posted @ 2013-08-10 00:07 坚固66 阅读(506) 评论(0) 推荐(0) 编辑
摘要: 只贴最短代码~( ⊙ o ⊙ ) #includeusing namespace std;char s[200005],p[200005],t[200005];int main(){ while(scanf("%s %s",&s,&p)!=EOF) { strcpy(t,s);strcat(s,t); if(strlen(t)>strlen(p)&&strstr(s,p)!=NULL) cout<<"yes"<<endl; else cout<<"no"< 阅读全文
posted @ 2013-08-10 00:05 坚固66 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 360网站安全检测平台今日发布红色警报称,广泛应用在国内大型网站系统的Struts2框架正在遭到黑客猛烈攻击。利用Struts2“命令执行漏洞”,黑客可轻易获得网站服务器ROOT权限、执行任意命令,从而窃取重要数据或篡改网页,目前国内至少有3500家网站存在该高危漏洞。据乌云漏洞平台显示,运营商及金融等领域大批网站,甚至包括政府网站均受Struts2漏洞影响。 360网站安全检测服务网址:http://webscan.360.cn Struts框架官方最新版本:http://struts.apache.org/download.cgi#struts234 Struts2“命令执行漏洞”早在20 阅读全文
posted @ 2013-08-10 00:03 坚固66 阅读(279) 评论(0) 推荐(0) 编辑
摘要: 工作太忙,很久没写文章了。以前基本没有接触过,但是基于现在工作的状态,对于linux这种博大精深的东西,速成是没有可能的,只能积累,起步虽晚,迈步才会成功,以此勉励自己。 阅读全文
posted @ 2013-08-10 00:01 坚固66 阅读(157) 评论(0) 推荐(0) 编辑
摘要: Problem Description ACboy很喜欢玩一种战略游戏,在一个地图上,有N座城堡,每座城堡都有一定的宝物,在每次游戏中ACboy允许攻克M个城堡并获得里面的宝物。但由于地理位置原因,有些城堡不能直接攻克,要攻克这些城堡必须先攻克其他某一个特定的城堡。你能帮ACboy算出要获得尽量多的宝物应该攻克哪M个城堡吗? Input 每个测试实例首先包括2个整数,N,M.(1 = 0。当N = 0, M = 0输入结束。 Output 对于每个测试实例,输出一个整数,代表ACboy攻克M个城堡所获得的最多宝物的数量。 Sample Input ... 阅读全文
posted @ 2013-08-09 23:59 坚固66 阅读(200) 评论(0) 推荐(0) 编辑