2011年5月31日
摘要: 几个怀习惯: 假学习: 身体力行才叫学习。 没自信: 要始终相信自己是最好的。没自信的一个表现就是怕别人关注你,其实也没有几个人关注你。 睡懒觉: 人生何须多睡,死后可以长眠。科学的作息时间10:30-4:00。要多出去走走。 不坚持: 坚持是我们最可贵的品质。 怕吃苦: 你去看看,那些有些成就的人,哪个得来容易啊! 爱憧憬: 人生最痛苦的事,就是知道的多,做到的少! 阅读全文
posted @ 2011-05-31 22:00 yongmou- 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 有一门课,老师叫写报告,还要有字数限制,在还没开始写报告就想怎么查字数啊?碰巧,前几天看python就写了个小程序。#! /usr/bin/python# coding=UTF-8import sys# 统计一个文件中字符个数def wc(file_name): fo = open(file_name); count = 0; for line in fo: count += len(line.decode("UTF-8")); fo.close(); return count; for arg in sys.argv[1:]: count = wc(arg); print 阅读全文
posted @ 2011-05-31 15:45 yongmou- 阅读(2309) 评论(0) 推荐(0) 编辑
  2011年5月28日
摘要: 这个题来自Codejam的Round 1C 2009 的C题。题意:连续编号i..j个牢房,每个牢房最初住着一个犯人。释放犯人k时,需要bribe犯人k两边的犯人,直到遇见空牢房或者边界。输入,是一个释放犯人序列。求,最小 bribe的金币。和最优二叉查找树差不多的DP。找到中间那个划分点,把问题分为两个子问题。显然构成最优子结构。/* 动态规划 cost(i, j) = min{cost(i, k) + cost(k, j) + pos[j] - pos[i] -2} , i < k < j */#include <stdio.h>#include <limit 阅读全文
posted @ 2011-05-28 19:15 yongmou- 阅读(675) 评论(0) 推荐(1) 编辑
摘要: Google Codejam的模式有点特别,自己下载数据,运行完,提交结果,而不像普通OJ,提交代码到服务器,由服务器编译运行。个人感觉这种模式很好,语言,技术任我们选,只要能得出正确的结果就行。数据还分为small 和 large两种。这样,当我们实在找不出好的算法,也可以用暴力拿几个point。支持Google,希望有朝一日能去Google工作。 阅读全文
posted @ 2011-05-28 19:03 yongmou- 阅读(731) 评论(0) 推荐(0) 编辑
  2011年5月27日
摘要: gnome还是相当不错的,不过默认配置有点非主流,比如没有最大化、最小化按钮,标题栏宽得吓死人。 1、Alt + F2可以输入命令,这是最绚的一点 2、显示最大化、最小化按钮:安装gconf-editor,有点像windows的注册表,不过这只是配置文件的一个视图 展开到/desktop/gnome/shell/windows,button_layout设置成:minimize,maximize,close Alt + F2输入r,重启gnome shell 3、Alt + Tab遍历打开的窗口 windows键也是这个功能,不过以另一种方式 4、gnome-shell是可定制的,以后有时间. 阅读全文
posted @ 2011-05-27 12:17 yongmou- 阅读(218) 评论(0) 推荐(0) 编辑
  2011年5月25日
摘要: 大二寒假,在家没事看python,当看到python中数字是不可变的时候,我就看不下去了。如果i = i + 1这样简单的运算都要产生一个新的变量,这是多么低效的啊,明明直接往那块内存写入一个新值不就行了吗。 现在,算是看出来了,这也是必须这么做的,因为这些最Basic的数字和字符串都用引用了。引用的意思就是Share一块存储空间,如果更改了这块存储区的内容,那么所有引用这块存储区的引用变量就都变了,这未免与老祖宗C语言的语义出入太大。 Python中赋值,只是传递引用。 所以,默认都是Shallow Copy。 如果想要做Deep Copy,可以使用copy模块的deepcopy方法。也可. 阅读全文
posted @ 2011-05-25 12:48 yongmou- 阅读(480) 评论(0) 推荐(0) 编辑
  2011年5月13日
摘要: 安身后动人生之道是:君子安其身而后动。要做一番事业,做一件事情,要有一个行动,必须先求身安,身安而后动。换句话说,就是人要有所立。人的一生要有所立,自己能站得起来,这个很难。现在人无所安身的道理,是心无所安,也就是无所立。立脚点我讲到一位同学几十年没有站起来,没有立脚点,一个人活了一辈子,你问他的人生观是什么,他没有人生观。一个人应该知道自己要做个什么样的人。很多人没有人生观,一辈子没有站起来过。所以文学上形容这一类人是“浮沉于世间”,水高了就浮上来,水低了就沉下去。一般人就是这样,在人海中沉浮,没有立脚点。风格什么叫人格?人有个规格,你做个什么样的人,你就要依那个规格去做。任何人都有个标准, 阅读全文
posted @ 2011-05-13 10:35 yongmou- 阅读(830) 评论(2) 推荐(0) 编辑
  2011年5月12日
摘要: 袁红岗的程序员修炼之道不知不觉做软件已经做了十年,有成功的喜悦,也有失败的痛苦,但总不敢称自己是高手,因为和我心目中真正的高手们比起来,还差的太远。世界上并没有成为高手的捷径,但一些基本原则是可以遵循的。 1.扎实的基础。数据结构、离散数学、编译原理,这些是所有计算机科学的基础,如果不掌握他们,很难写出高水平的程序。据我的观察,学计算机专业的人比学其他专业的人更能写出高质量的软件。程序人人都会写,但当你发现写到一定程度很难再提高的时候,就应该想想是不是要回过头来学学这些最基本的理论。不要一开始就去学OOP,即使你再精通OOP,遇到一些基本算法的时候可能也会束手无策。 2.丰富的想象力。不要拘泥 阅读全文
posted @ 2011-05-12 16:13 yongmou- 阅读(889) 评论(1) 推荐(0) 编辑
  2011年4月25日
摘要: ;; 设置字体(set-default-font "Monospace-11");; 显示行号(require 'linum)(global-linum-mode 1);; Display line and column numbers(setq line-number-mode t)(setq column-number-mode t);; Make sure all backup files only live in one place;; (setq backup-directory-alist '(("." . "~/. 阅读全文
posted @ 2011-04-25 08:48 yongmou- 阅读(285) 评论(0) 推荐(0) 编辑
  2011年4月22日
摘要: 构造函数中调用虚函数 调用的是基类中的函数不是调用派生类的,因为派生类还未构造完成。保持构造函数精简,可以把一些操作抽出来放在成员函数中,一般不要在构造函数中调用虚函数。 调用基类构造函数,需要放在初始化列表中,放在派生类函数体里就会调用两次基类的构造函数,第一次是编译器插入的调用基类的无参构造函数。 构造函数与析构函数调用顺序相反,大概是因为,派生类可能使用基类的数据 虚析构函数,当使用基类指针析构派生类对象时,保证调用正确的析构函数下面给出一段测试代码: 1 class A{ 2 public: 3 A(){ 4 printf("构造 A\n"); 5 f(); 6 } 阅读全文
posted @ 2011-04-22 11:04 yongmou- 阅读(297) 评论(0) 推荐(1) 编辑