最大子段和、最大子矩阵和、最大m子段和问题总结

1,最大子段和问题
代码:

int MaxSum(int n,int *a)
{
int sum = 0;
int b = 0,i;
for(i=0;i<n;i++)
{
if(b>0) b+=a[i];
else b = a[i];
if(b>sum)sum = b;
}
return sum;
}

2,最大子矩阵和问题
代码:

int MaxSum2(int m,int n,int** a)
{
int sum = 0,i,j,k;
int b[105];
for(i=0;i<m;i++)
{
for(k=0;k<n;k++)
{
b[k] = 0;
}
for(j=i;j<m;j++)
{
for(k=0;k<n;k++)
{
b[k]+=a[j][k];
}
int mx = MaxSum(n,b);
if(sum<mx)sum=mx;
}
}
return sum;
}

3,最大m子段和问题

double b[50005];
double c[50005];
int MaxSum3(int m,int n,int* a)
{
int i,j,k,mx,sum;
b[0] = 0;
c[0] = 0;
for(i=1;i<=m;i++)
{
b[i] = b[i-1] + arr[i];
c[i-1] = b[i];
mx = b[i];
for(j=i+1;j<=i+n-m;j++)
{
b[j] = b[j-1]>c[j-1]?b[j-1]+arr[j]:c[j-1]+arr[j];
c[j-1] = mx;
if(mx<b[j])
{
mx = b[j];
}
}
c[i+n-m] = mx;
}
sum = b[m];
for(k=m+1;k<=n;k++)
{
if(sum<b[k])sum=b[k];
}
return sum;
}

本文地址:http://www.yaronspace.cn/blog/?p=43

如何Eclipse自动提示

很多人不知道Eclipse如何开启代码助手的自动提示功能,只是使用Eclipse默认的输入了“.”之后才会出现提示。

打开 Eclipse -> Window -> Perferences,会打开个Perferences 的设置界面。

IMAGE00060

(点击图片查看大图)

在上图画红线的地方,会看到只有一个“.”存在。表示:只有输入“.”之后才会有代码提示,我们要修改的地方就是这里,可是Eclipse默认只允许输入4个自定义字符。 更多 >

高矮排序问题,很经典【转载】学习下

作者:baihacker
来源:http://hi.baidu.com/feixue http://hi.csdn.net/baihacker

问题描述:
12个高矮不同的人,排成两排,每排必须是从矮到高排列,而且第二排比对应的第一排的人高,问排列方式有多少种?
这个笔试题,很YD,因为把某个递推关系隐藏得很深.

问题分析:
我们先把这12个人从低到高排列,然后,选择6个人排在第一排,那么剩下的6个肯定是在第二排.
用0表示对应的人在第一排,用1表示对应的人在第二排,那么含有6个0,6个1的序列,就对应一种方案.
比如000000111111就对应着
第一排:0 1 2 3 4 5
第二排:6 7 8 9 10 11
010101010101就对应着 更多 >

wordpress中用户注册问题【取消将密码发送email】

wordpress中用户注册后的密码需要服务器随即产生一个密码发送到注册者email中,如果wordpress所在服务器没有安装sendmail组件(即发送email的组件),用户注册后将不知道自己的密码是多少。

如果注册后自动显示随机的那个密码就方便多了。

修改wp-login.php这个文件就可以了,一共有两个地方需要修改,

一、搜索如下代码: wp_new_user_notification($user_id, $user_pass);
并把此句代码注释掉,然后再下面加入以下代码:

setcookie(“u”, $user_login);
setcookie(“user_pass”, $user_pass);

修改后的代码样子如下:

//wp_new_user_notification($user_id, $user_pass);
setcookie(“u”, $user_login);
setcookie(“user_pass”, $user_pass); 更多 >

推荐一个免费的图片上传网站【无需注册】

由于空间有限,不能大量上传图片,所以只能用第三方,从网上找了一个无需注册的图片保存站点,

不过不知道会不会丢失数据,先用着吧……

http://p.freep.cn/Default.aspx

javascript中树状结构的实现之dtree组件

dtree是一个javascript组件库,可以很容易的构造树形结构的菜单。

下载地址:http://www.destroydrop.com/javascripts/tree/default.html

add()
Adds a node to the tree.
Can only be called before the tree is drawn.
id, pid and name are required.
Parameters
Name Type Description
id Number Unique identity number.
pid Number Number refering to the parent node.

The value for the root node has to be -1.
name String Text label for the node.
url String Url for the node.
title String Title for the node.
target String Target for the node.
icon String Image file to use as the icon. Uses default if not specified.
iconOpen String Image file to use as the open icon. Uses default if not specified.
open Boolean Is the node open.
以上是dtree的API介绍,最主要的函数是add(),了解它的参数用法 更多 >

WordPress插件WP-PostViews的调用方法

最近这两天一直在搞wordpress,发现wordpress做的很强大,抽时间一定得看下源码。

目前网上各种各样的插件,本文介绍的一个比较流行的统计某篇文章的浏览次数的postviews插件,先记录下这种插件的使用方法。

一、插件介绍

该插件实现的功能是统计某篇文章被阅读次数并且可以实现侧边栏 Widget 以及显示最受欢迎(阅读数最多)文章、某分类下最受欢迎(阅读数最多)文章等功能,支持最新的 WP 2.8版本。

二、安装方法

  1. 将解压得到的 postviews 文件夹上传到 /wp-content/plugins 文件夹中
  2. 激活 WP-PostViews 插件,然后可以去 Options 中设置

三、使用方法

(一)一般应用

  1. 修改 /wp-content/themes/<YOUR THEME NAME>/index.php(single.php, post.php 或 page.php)
  2. 如果修改 index.php 找到PHP代码

更多 >

利用War-Ftpd的漏洞深入解析缓冲去溢出

【摘要】

实验目的:

1, 掌握缓冲区溢出原理

2, 掌握常用的缓冲区语出方法

3, 理解缓冲区溢出的危害

4, 掌握防范和避免缓冲区溢出攻击的方法

实验内容:

利用War-Ftpd这个FTP server本身存在的loginusername过长缓冲区溢出漏洞,使用调试工具CDB挖掘漏洞并利用这个漏洞编写攻击程序在server端能够运行的shellcode,比如说新建帐户或者开启一个高端口以供远程登陆等。通过试验能够了解缓冲区溢出原理及防范缓冲区溢出方法等。

实验环境:

操作系统:Windows XP

溢出对象:war-ftpd 1.65

调试工具:CDB

高级编程语言:Python

Shellcode功能:在目标机上新建一个hacker帐户


更多 >

终于有了自己的空间

今天狠了下心,花了二百大洋在买了个php虚拟空间,注册个域名http://www.yaronspace.cn

yaronli是我在****时起的英文名,到现在我还没弄明白yaron到底怎么发音呢,呵呵

以后在这里记录研究生三年的学习痕迹,时刻督促自己来这里更新下博客,毕竟是花钱买的嘛!!

行了,今天就写这第一篇了,然后好好摆弄下wordpress…..