上一页 1 2 3 4 5 6 7 ··· 54 下一页

2012年6月25日

HDOJ 1024 Max Sum Plus Plus

摘要: 点击打开链接 http://acm.hdu.edu.cn/showproblem.php?pid=1024思路:利用动态规划的方法,求解最大m子段的和,由于这一题的数据量很大,所以不能用二维的dp 方 程,考虑优化 用一个temp[1000005]来存储前j个元素的i个子段的最大和,则有dp[j]=max(dp[j-1]+s[j],temp[j-1]]+s[j]) 表示以s[j]结尾的元素的最大的子段和注意:输入数据很多使用scanf代码:#include <iostream>#include <algorithm>#include <map>#includ 阅读全文

posted @ 2012-06-25 12:48 c语言源码 阅读(174) 评论(0) 推荐(0) 编辑

HDOJ 1075 (What Are You Talking About)

摘要: 点击打开链接 http://acm.hdu.edu.cn/showproblem.php?pid=1075思路:利用字典树+map ,但是也可以直接利用map来写,用string不要用char注意:这组数据 START dog aa END START a aa END输出:a dog代码(字典树+map):#include <iostream>#include <cstdio>#include <cstring>#include <string>#include <cstdlib>#include <map>using 阅读全文

posted @ 2012-06-25 10:57 c语言源码 阅读(195) 评论(0) 推荐(0) 编辑

2012年6月24日

订餐系统总结(三)策略模式应用于处罚方案管理

摘要: 需求介绍:某学校实现网上订餐后,到食堂刷卡就餐。可是为了督促大家要先在网上订餐后再去食堂就餐(食堂可以实现按实际所需做饭),对于未订餐的要进行处罚;还有一种情况是订餐未就餐的情况;当然最后是正常就餐(也就是订餐后就餐)。学校希望对于前两种情况进行相应的处罚,比如说:三天不允许订餐,当然也就不允许就餐、或者是罚款、再或者是先警告指定次数,无效后再进行处罚(也就是罚款或者几天不允许订餐)。说实话这个需求着实让我头疼了好几天啊!我们拿到这个需求后,第一印象也许就是要用策略模式进行处理,可是当时我又这样想,对于这两种处罚情况(订餐未就餐,未订餐就餐),要执行不同的操作啊!比如说对于现金处罚来说吧:如. 阅读全文

posted @ 2012-06-24 15:27 c语言源码 阅读(256) 评论(0) 推荐(0) 编辑

C#基础知识整理:基础知识(3) 类的构造

摘要: 我们定义了YSchool,YTeacher类,实例化对象时: YSchool shool1 = new YSchool(); shool1.ID = 1; shool1.Name = "清华附中"; YSchool school2 = new YSchool(); school2.ID = 2; school2.Name = "北师大附中"; 这样写对不对呢,其实在逻辑上是不正确的,因为实例化对象时,它的属性应该是和实例化一起就有的,而不是后来再加属性。在程序中表... 阅读全文

posted @ 2012-06-24 15:12 c语言源码 阅读(145) 评论(0) 推荐(0) 编辑

2012年6月23日

poj 2406

摘要: #include<stdio.h> #include<string.h> char s2[1000100]; int next[1000010]; void getnext(){ int i=1,j=0,k; next[1]=0; k=strlen(&s2[1]); while(i<=k){ if(j==0 || s2[i]==s2[j]){ i++,j++; next[i]=j; } else j=next[j]; } } int main(){ int t,T,n,i,j,temp; while(scanf("%s",&s2 阅读全文

posted @ 2012-06-23 23:44 c语言源码 阅读(131) 评论(0) 推荐(0) 编辑

poj 2752

摘要: #include<stdio.h> #include<string.h> char s2[400100]; int next[400010],a[400100]; void getnext(){ int i=1,j=0,k; next[1]=0; k=strlen(&s2[1]); while(i<=k){ if(j==0 || s2[i]==s2[j]){ i++,j++; next[i]=j; } else j=next[j]; } } int main(){ int t,T,n,i,j; while(scanf("%s",& 阅读全文

posted @ 2012-06-23 23:31 c语言源码 阅读(115) 评论(0) 推荐(0) 编辑

poj 3461

摘要: next[]数组,next[j]的值表示当模式中第j个字符与主串中相应字符失配时,在模式串中需要重新和主串中该字符进行比较的字符的位置。对于next[]数组的定义如下:1)next[j]=0 j=12)next[j]=max k:0<k<j P[1...k-1]=P[j-k+1,j-1]3)next[j]=1 其他#include<stdio.h> #include<string.h> char s1[1001000],s2[10010]; int next[10010]; void getnext(){ int i=1,j=0,k; next[1]=0; 阅读全文

posted @ 2012-06-23 23:03 c语言源码 阅读(206) 评论(0) 推荐(0) 编辑

如何有效地解Bug (RED方法)

摘要: 转载请注明来源:http://blog.csdn.net/horkychen(译注:解Bug时常发生分析时总感觉快找到答案了,而后面却一再陷入僵局。比如,将线程同步问题引起的一些时而有,时而没有的问题。分析时可能会认为这是个典型的线程同步问题,A线程没有按照预期的方式改变某个变量,导致了B线程处理出错。这样的分析结果如果没有调试(Debug)的支持,就有可能将开发者带入死胡同,找出一大堆的解决方案可能都无法完整地解掉Bug。一定要在每次陷入困境的时候,回头想一想,还有没有什么被忽略了。在一开始就对问题进行充分的了解是十分必要的。下文中作者提供了一个简单的流程可供参考。)图片来源:http:// 阅读全文

posted @ 2012-06-23 16:10 c语言源码 阅读(300) 评论(0) 推荐(0) 编辑

HDOJ 1003 maxsum

摘要: http://acm.hdu.edu.cn/showproblem.php?pid=1003思路:就是求最大的子段和,只是要标记起始位置和末尾置,注意begin和end的标记代码:#include <iostream>#include <cstdio>#include <cstring>using namespace std;int sum[100005];int dp[100005];int begin , end;void DP(int m){ int i , j; int max , mark;要用一个mark来作为中间变量判断是否要改变begin b 阅读全文

posted @ 2012-06-23 12:31 c语言源码 阅读(205) 评论(0) 推荐(0) 编辑

为你的JavaScript内存性能做个体检

摘要: 转载请注明来源:http://blog.csdn.net/horkychen因为JavaScript的语言特性决定了,它的内存管理更主要的是交给浏览器的JavaScript解释器来处理,这其中被广为人知是垃圾回收(Garbage Collection)机制。不过天生的限制使得JS使用的内存也需要加以控制,特别是现在使用HTML5的游戏对JS内存管理的要求也越来越高。目前很多的资料都是关注在JavaScript的执行性能上的。如FireBug等工具都能提供相应的功能。下面是一些参考网页: Javascript性能分析——工具(YUI Profiler) JSProfiler – JS性能分析工具 阅读全文

posted @ 2012-06-23 00:20 c语言源码 阅读(240) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 5 6 7 ··· 54 下一页

导航