现在位置: 首页 > grudge发表的所有文章
  • 09月
  • 08日
综合 ⁄ 共 1374字 评论关闭
题目链接: http://acm.sgu.ru/problem.php?contest=0&problem=114   题目的意思给定一些X[i] 和 P[i] ,要在X轴上取一点X是的  sum (abs(X[i] - X) * P[i]) 最小。   可以证明 X必然会为X[i] 中的某一个点,如果不然比如X落在  X[r] 和 X[r +1]之间,那么在X 左面的sum(P[i]) 和在X 右面的 sum(P[i]) 必然有一个值大或者小,或者两个相等,如果 有一个大,那么我们可以把X移到sum(P[i])大的那面的那个点上,可以取道更小的值,所以必然 可以将X 放在某一个X[i] 上使得所求的值最小。那么下面我们就可以按X[i]排序,然后O(n)......
阅读全文
  • 06月
  • 03日
综合 ⁄ 共 6192字 评论关闭
   在解决一个复杂的问题时,我喜欢将问题分层。昨天将“xml配置文件具体如何关联各层文件“问题分解成如下四个问题: struts-config.xml的每一个标签的作用和关系? web.xml如何控制struts-config.xml文件和每一个标签的作用和关系,尤其是对servlet的处理。 java web为什么需要配置xml文件,servlet等为什么需要配置xml文件。 properties与xml 之间的区别?   昨天解决了”properties与xml 之间的区别“和”servlet等为什么需要配置xml文件“,接下来首先解决”java web为什么需要配置xml文件“   因为java web需要储存配置信息的储存......
阅读全文
  • 05月
  • 15日
综合 ⁄ 共 487字 评论关闭
实现 List 的 java.util 中的类(转自  http://download.oracle.com/technetwork/java/javase/6/docs/zh/api/java/util/class-use/List.html#java.util) class AbstractList<E>           此类提供 List 接口的骨干实现,以最大限度地减少实现“随机访问”数据存储(如数组)支持的该接口所需的工作。 class AbstractSequentialList<E>           此类提供了 List 接口的骨干实现,从而最大限度地减少了实现受“连续访问”数据存储(如链接列表)支持的此接口所需的工作。 class ArrayList<E>   ......
阅读全文
  • 03月
  • 08日
综合 ⁄ 共 2888字 评论关闭
使用二级缓存的前置条件  你的hibernate程序对数据库有独占的写访问权,其他的进程更新了数据库,hibernate是不可能知道的。你操作数据库必需直接通过hibernate,如果你调用存储过程,或者自己使用jdbc更新数据库,hibernate也是不知道的。hibernate3.0的大批量更新和删除是不更新二级缓存的,但是据说3.1已经解决了这个问题。  这个限制相当的棘手,有时候hibernate做批量更新、删除很慢,但是你却不能自己写jdbc来优化,很郁闷吧。  SessionFactory也提供了移除缓存的方法,你一定要自己写一些JDBC的话,可以调用这些方法移除......
阅读全文
  • 11月
  • 06日
综合 ⁄ 共 2863字 评论关闭
    二叉树是一种非常重要的数据结构,很多其他数据机构都是基于二叉树的基础演变过来的。二叉树有前、中、后三种遍历方式,因为树的本身就是用递归定义的,因此采用递归的方法实现三种遍历,不仅代码简洁且容易理解,但其开销也比较大,而若采用非递归方法实现三种遍历,则要用栈来模拟实现(递归也是用栈实现的)。下面先简要介绍三种遍历方式的递归实现,再详细介绍三种遍历方式的非递归实现。     一、三种遍历方式的递归实现(比较简单,这里不详细讲解) 1、先序遍历——按照“根节点-左孩子-右孩子”的顺序进行访问。 ......
阅读全文
  • 06月
  • 09日
综合 ⁄ 共 2437字 评论关闭
OnTimer()函数用于实现定时控制功能,定时控制功能主要由下面三个函数共同实现: SetTimer, KillTimer()和OnTimer(). 粗略的说,Settimer是设置一个计时器并开始执行计时器Ontimer中的代码,Ontimer是计时器所执行的代码。KillTimer用于停止计时器。 或者说Settimer是设置定时器的,Ontimer是响应Settimer消息的。当Settimer设置的时间到了,就会自动调动Ontimer()函数。 先了解下SetTimer这个API函数的原型 UINT_PTR SetTimer(   HWND hWnd,              // 窗口句柄   UINT_PTR nIDEvent,      // 定时器ID,多个定时器时,可以......
阅读全文
  • 05月
  • 07日
综合 ⁄ 共 1919字 评论关闭
1、前端假设使用如下url进行ajax请求:假http://ip:port/ap/aa.jsp?a=1&a=2       或者,使用如下表单提交:       <form action="" method="post"> <input name="a" type="text" value="1"> <input name="a" type="text" value="2">       <form> 然后你在 java里面写这样的String[] a = arg0.getParameterValues("a")代码 , 那么java里面的这个a的字符集合里面就是[1,2] 2、后端也可以使用springmvc的如下方式获取: public String xxx(@RequestParam("a") String[] params){ .. } 2、使用springm......
阅读全文
  • 04月
  • 19日
综合 ⁄ 共 2612字 评论关闭
Ruby Require VS Load VS Include VS Extend Here are the differences between Require, Load, Include and Extend methods: Include When you Include a module into your class as shown below, it’s as if you took the code defined within the module and inserted it within the class, where you ‘include’ it. It allows the ‘mixin’ behavior. It’s used to DRY up your code to avoid duplication, for instance, if there were multiple classes that would need the same code within the module. The followin......
阅读全文
  • 02月
  • 20日
综合 ⁄ 共 1420字 评论关闭
题意:金典的最大获利问题,通信公司可以在n个地方建立信号站,每个信号站的建立要一定的费用,有m个要求,每个要求是如果两个地方都建立了信号站就会获利,求出公司的最大获利。 建图:获利边的选择要依赖点。源点跟边相连容量为边的获利,每个点跟汇点相连,容量为费用,每条边跟依赖的两个点相连,容量为无穷大,求出的最大流就是最小费用,, #include<stdio.h> #include<string.h> const int N=55010; const int inf=0x3fffffff; int dis[N],gap[N],start,end,ans,head[N],num; struct edge { int st,ed,flo......
阅读全文
  • 02月
  • 17日
综合 ⁄ 共 2312字 评论关闭
习惯了在windows下用sourceInsight编程的人,当然也希望在linux的字符终端下也能有一样酷的软件,这里要介绍给大家的是如题所示的三款软件:vim , ctag 和Taglist 。 很多时候我们需要在多个源程序之间实现函数、宏定义、外部变量等的跳转查询,甚至有时候需要到内核或库源代码里窥视他们真面目,我们也需要有列出程序内部所使用的各个函数、变量、宏等等信息的工具,这些功能仅仅靠vim完成是比较困难的,但也不必失望,因为我们还有两件利器:ctag负责建立标签,为实现文本间关键词实现跳转提供基础,Taglist是一个vim插件,帮助......
阅读全文
  • 02月
  • 17日
综合 ⁄ 共 7781字 评论关闭
练手:   # \d   # 数字。即[0-9]   puts "aaa0" =~ /\d/  # 3 匹配数字   puts /\d/ =~ "abc2"  # 3   puts "kkmm1" =~ /\d/ # 4 匹配数字   # [\u{4e00}-\u{9fff}]   # 中文   puts "abcdef我熬啊" =~ /[\u{4e00}-\u{9fff}]/u   #6  匹配中文   puts "abcdef我熬啊" =~ /\p{Han}/u  # 6   # \w   # 字母和数字。等同于[0-9A-Za-z]。   puts "-=123a" =~  /\w/ # 2 匹配字母   puts "-=a3a" =~  /\w/ # 2 匹配字母      # \s   # 空字符。相当于[ \t\n\r\f]   puts "aaa bbb" =~ /aa\s/ # 1   puts "aaa bbb" =~ /\s/ # 3   # ^ ......
阅读全文
  • 02月
  • 01日
综合 ⁄ 共 2656字 评论关闭
 在本文中,InfoQ.com就Curl平台的相关内容采访了Curl公司开发部副总裁Richard Monson-Haefel。Curl是一个构建企业级RIA应用的平台。Monson-Haefel谈到了Curl编程语言、IDE以及客户端运行环境(RTE)。另外,他强调了在为企业构建RIA应用时为什么要考虑使用Curl而非Adobe AIR和Flex。 Monson-Haefel首先概述了Curl的情况:     Curl于1998年在MIT(美国麻省理工学院)研究的基础上建立。它是第一个RIA平台,时间甚至在“RIA”这个术语产生之前。Curl RIA平台的目标是构建高性能、关键任务业务应用。     Curl编程语言是Curl平台的基......
阅读全文