自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

天下的技术专栏

独立之思想 自由之精神

  • 博客(31)
  • 收藏
  • 关注

原创 书籍推荐

只推荐自己看过的!1.《程序员的自我修养》(豆瓣链接)简评:第5,9,13章没有看,分别是关于windows可执行文件格式,windows下的动态链接,迷你c运行库的实现三个方面。因为现在主要关注Linux,所以跳过了。推荐系统程序员看看这本书,对一个程序的前世今生描述的很完整。不足:小错误太多,我买的是第六次印刷的版本,还是一大堆的错别字,个别图还有错误,

2011-12-20 12:41:29 438

原创 关于浮躁

今天读到陈皓的博文《三个事和三个问题》,联想到自己找工作的经历,感触很深,写一些总结在这里。。。第一个故事:offer的选择问题(北京雅虎vs杭州微策略)这几乎就是我的经历的翻版,我也曾经纠结过北京和杭州,我的版本是(杭州大公司vs北京创业公司)陈皓的回复:(1)户口,离家近,安逸的生活,相比起你的人生经历,你的眼界,你的发展,什么都不是(2)眼界,眼界,眼界。你的眼界决定了你

2011-12-21 10:35:25 525

原创 [Book]《云计算核心技术剖析》读书笔记

用了三周的时间把《云计算核心技术剖析》这本书给翻完了,总体来说还算可以,可以看出作者是下了功夫进行调研和总结的(一定程度上可以从书后的参考资料中反映出来),而不是东拼西凑胡乱抄出来的。可是非要说成“核心技术剖析”我觉得还有点儿牵强,有的内容比如Google App Engine的使用,Amazon EC2的使用等内容感觉深不深,浅不浅的,完全没有写进书里的必要。而对系统虚拟化的讲解又让人觉得太泛泛

2011-12-20 10:35:31 3761

原创 [POJ] 2229 Sumsets

递推关系找到的话,这题就没什么难度了,刚开始我使用的是基于完全背包的改造,结果超时严重,后来搜到了这篇文章,才发现原来区分奇偶性就可以了。。。唉!分析问题的能力还是太水,继续努力吧~~附上我的超时的代码#include #define N 1000100#d

2011-10-08 22:07:44 517

原创 创新工厂面试题

话说一面就被鄙视了,杯具!题目是从这里看到的。。。(原文底下的跟贴很给力!)题目大意:abcde五人打渔,打完睡觉,a先醒来,扔掉1条鱼,把剩下的分成5分,拿一份走了;b再醒来,也扔掉1条,把剩下的分成5份,拿一份走了;然后cde都按上面的方法取鱼。问他们一共打了多少条鱼,写

2011-10-05 21:00:03 626

原创 [Jobdu] 1324: The Best Rank & 1007: 奥运排序问题 & 1009: 二叉搜索树

1324和1007两道题是一个类型的,解题时遇到好多自身存在的问题,所以有必要记录一下。。。1)malloc二维数组的方法忘了。分成两步嘛,先开一个指针数组,然后对每个数组元素再开一维数组2)写着写着free就给忘了。。。3)memset第二个参数是char类型,这就

2011-09-08 23:47:08 861 1

原创 [Jobdu] 1005:Graduate Admission

好久没有更新博客了,罪过罪过。。。浙大2011机试最后一题,题目久度OJ上有。话说网上大牛都认为此题很水,结果我做了long long time,看来不是题目水,是我太水了,囧。。。其实题目就是条件多了一些,没有什么复杂的算法,主要卡在条件的处理上。最初的想法分成了三

2011-09-07 15:20:24 581

原创 [Xen] xm console设置输出HVM DomU启动信息

我这么做的原因有三个:1)我修改了Linux内核,但是无法正常启动,进不了系统无法使用dmesg,所以想利用串口调试的功能输出启动信息2)网上查了一堆资料,如何使Xen HVM通过串口输出,客户端我试了minicom和gtkterm,没成功。。。3)在XenC

2011-07-04 21:03:41 1964

原创 [Xen] Xen4.1使用Xend配置桥接网络

网上资料很多了,这里写的纯粹是个人教训。。。折磨了我一天啊,SHIT!开始我想试试用新的xl工具栈配置桥接网络,结果由于缺乏网络管理方面的经验,手动配置桥接之后dom0都上不了网了!后来想用nat方式试试,结果dom0虽然不受影响,但是domU就是不行,静态分配IP,MAC都不行。。。无奈,退回xend,它会自动配置桥接网络,刚开始我以为xl会执行/etc/xen/xend-config.

2011-06-18 19:01:00 2233 1

原创 [GCJ] 2011 Round 1C Problem A Square Tiles & Problem C Perfect Harmony

<br />又是送分题,又是拿不到分。。。<br />不像上一轮的A题,这题我读懂了,也很快的做出来了,结果提交是总是Incorrect,仔细检查了N遍没错,可是一提交就Incorrect,尝试了四五遍。无奈,看下一题,不过不是B题,是C题,因为看正确率C题要高很多:P<br />果然,题目很直白,small dataset直接brute force就可以,不过才8分,所以关键点在优化上,不优化绝对超时,35分就没了。。。<br />最后大数据集通过率只有可怜的5%(60/1321),当然我属于那95%,哎

2011-05-22 21:38:00 557

原创 [GCJ] 2011 Round 1B Problem A RPI

<br />信心满满的打开题目,结果题目没读懂!OWP的定义看了一遍又一遍楞是没明白怎么个求法,难道是半夜太困了?我一直觉得我的英文水平还算可以的。。。都怪那个throwing out,直接用excluding多清晰啊,囧。。。<br />看着别人光速般的开始进入B题,有些慌了,也开始看B题去了,结果想了半天没思路,又开始看第三题,更不会了。。。<br />回过头来看第一题,又想了一想,总算明白怎么回事儿了,其实这完全就是送分题,我却没把握住,最后总算写出来交了,这轮不用说肯定没戏了,最差的也解出B的sma

2011-05-22 21:14:00 884 2

原创 [GCJ] 2011 Round 1A Problem A FreeCell Statistics

看到percentage就要用double?脑袋进水了吧?double本来就不精确,舍入或者四舍五入都会造成误差,这怎么用来求整数解?!四千多人应该没有比你还蠢的了吧?!根本就不去分析,胡乱的在写代码,要是能对就见了鬼了。。。分析也看不懂,你到底怎么了?!!

2011-05-21 17:40:00 548

原创 [Xen] Ubuntu 10.04 x86 安装 Xen 4.1 和 dom0

参考了这篇文章《Xen 4.1 on Ubuntu 10.04 64bit》以及Xen 4.0的realse notes编译和安装xen都没有什么问题,照着指南一步一步做就行了,安装dom0的时候遇到一些问题。。。首先,git clone下来linux kernel查看分支时已经

2011-05-20 15:44:00 3747 15

原创 排列组合算法小结(未完)

<br />做GCJ 2011 Qualification Round中的C题遇到的,以前居然没有接触过,囧。。。<br />组合算法有三个,这里给出了递归和回溯的方法,我照搬了一下,不过改成了C实现。。。<br />回溯法貌似挺慢的,做题时有个大数据的test,结果跑了6,7分钟都没跑完,这里又给出了一个高效的排列组合算法,我把组合实现了,排列我觉得不是很高效,暂时没写。。。<br />这里有全排列的递归算法,我给搬过来了,做swap时本想用异或实现的,可是注意到i,j可能指向同一个值,结果异或之后变成了

2011-05-10 16:42:00 882

原创 [USACO] OPEN11 Bronze Division

PROBLEM 11: bfire题目说了一大堆,其实抽象成编程问题就是:给定N个数,n1放到n2的位置上,n2放到n4的位置上,越界从n1接着计数,依次类推,问哪个数会出现在n1或者将要放的位置已经被移动过了?举例来说:1 2 3 -> 21 2 3 4 -> 41 2 3 4 5 -> 31 2 3 4 5 6 -> 4解法其实很简单,模拟一下数字的移动过程就行了,边界条件就是上述的那两个停止条件。/*ID:LANG: CTASK: bfire*/#include #includ

2011-05-04 19:11:00 832

原创 [Darktable]dt源码分析(未完)

题目起的有点大,主要就是想在看代码时记录下来一些心得轨迹,以后也有个参考。首先我想从结构上对dt进行一个剖析,期间有不懂的先记下来,dt用了很多我不懂的东西,列举如下:Gtk+/CairoOpenMPOpenCLSQLite3GConfGlade还有很多图像处理的知识我也晕头转向,Git也是初次接触。。。好多要学的啊,囧!最后肯定要深入到细节中去,尤其是自己要做的snapshot那部分更是要透彻理解

2011-04-15 15:33:00 1164

原创 [USACO] Packing Rectangles

最近一个月一直在忙GSoC,没时间做题,也就没更新,很惭愧。。。本想速战速决来个开门红,结果遇到了传说中usaco第一道杀脑细胞的题,用了一天时间外加网上提示才搞定,真是失败!这道题想法倒是不难,枚举所有的可能情况,6种基本布局,每个布局有4!种放矩形的可能,又因为矩形的位置固定后可以旋转,故每种放置又有2*2*2*2中旋转可能,对每一种可能找到它的外围矩形,然后更新最小面积值。最开始我理解题目出现错误,我以为四个矩形必须拼成一个完整的大矩形(例子给的四个矩形和输出就可以,被误导了!),结果有一组数据过不去

2011-04-12 21:48:00 1307

原创 [USACO] Prime Cryptarithm

<br />满怀期待的打开这道题,以为肯定是贪心算法求解,结果很水的一道题,一次AC。<br />穷举搜索,虽然复杂度看上去很恐怖n的5次方,但是n很小,根本不对执行时间构成很大的影响,测试数据最长用了0.022秒<br /> <br />/*ID:LANG: CTASK: crypt1*/#include <stdio.h>#include <stdlib.h>#include <ctype.h>int notInTable(int pro, int table[]) {

2011-03-14 22:18:00 502

原创 [USACO] Calf Flac

最初的想法:让i指向字符串的首端,j指向末端,然后对每一个i,j逐渐递减,然后对每一个递减的j,判断i到j这段字符串是否回文。这个白痴的想法最坏需要O(n3)的时间,虽然可以通过局部的优化,提前结束i,j的遍历以及回文的判断,可是对于第八个测试数据死活也过不了,时间超了不止一点两点,本机上跑用了4秒多,我擦嘞!

2011-03-06 16:38:00 503

原创 [USACO] Barn Repair

<br />这道题自己一直找不到贪婪准则,于是看了前面的TEXT,得到了提示,终于写出来了。。。<br />对于题目中的例子我们可以这么想,如果M=1,那么最少的stall数量为43-3+1=41,如果我们增加一根木板使M=2,这时该如何处理?<br />其实这就相当于把一个木板找个位置砍掉一段,在哪个位置呢?<br />连续的空的stall最长的两个端点,这样就使得得到的两个划分既覆盖了所有有牛的stall,有排除了最多的空的stall。<br />这就是贪婪的准则,按照此准则求解一定是局部最优的,当M个

2011-03-05 13:57:00 523

原创 [USACO] Mixing Milk

本题基本上就是背包问题的变化,背包求最大价值,此题求最小花费,没差别,贪心!快排我想自己写,结果用了very long long time~~囧!结果第一次提交超时,调试发现快排还是错了,有死循环,杯了个具,基础太不扎实!/*ID:LANG: CTASK: milk*/#include #include #include #define SZ 5000typedef struct { int price; int amount;}farmer;void q

2011-03-04 23:11:00 579 2

原创 [USACO] Dual Palindromes

<br />真是乐极生悲啊,这么水的题居然让我提交了4次才过,Faint!<br />一次fprintf写成printf,一次S的范围,一次base的范围<br />输出写到文件不好调试,所以我总是输出到控制台。<br />S是小于10000,但不等于求得的解也得小于10000,理解有误<br />base是2~10,包含10进制,太阳!<br />代码照搬了上一题的两个函数。。。<br /><br />/*ID:LANG: CTASK: dualpal*/#include <stdio

2011-03-03 21:45:00 405

原创 [USACO] Palindromic Squares

<br />YOUR PROGRAM ('palsquare') WORKED FIRST TIME! That's fantastic-- and a rare thing. Please accept these special automatedcongratulations.<br />太COOL了,一次AC,虽然题简单,但还是好高兴。。。<br />此题主要就是考十进制转N进制,草纸上划划就出来了!<br /> <br /> <br />/*ID:LANG: CTASK:

2011-03-03 20:50:00 267

原创 [USACO] Name That Number

例子只有四位数,却有81种组合方式,题目规定最长可以为12位数字,则有531441种组合方式,把每一种组合通过查找词典库进行匹配,这样的效率是无法忍受的(尽管查词典时可以用Binary Search),所以必须另谋出路。我们倒过来想一想,反正字母和数字的映射关系是固定的,是否可以把词典中的词翻译成数字,然后直接进行数字的比较,而又因为词典已经是升序排列了,这样只需从头到尾遍历一次,就可以找出所有的可能了。原来我是打算把数字作为字符串存储的,然后用库函数进行比较,比如GREG转换成字符串“4734”,不过我觉

2011-02-26 22:38:00 417

原创 [USACO] Transformations

分析:设原始矩阵为a,变换后的矩阵为b,对于第一种情况,元素a[i, j]旋转90度之后在b中的位置为b[j, n-i-1],n是矩阵大小。同理可以找出2,3,4,6变换前后的映射关系,情形5需要两次变换而已。读数据时用scanf读到/n会停止,可是我声明的是字符数组,所以/n会读到数组里,所以需要fgetc把/n忽略掉。/*ID: yffbrav1LANG: CTASK: transform*/#include #include #define N 10int main()

2011-02-26 13:51:00 380

原创 [USACO] Milking Cows

题目叙述的很清晰,关键的一步就是先把输入数据按照开始时间进行排序。问题就处在这里了,我用的快排,可是1000数据量的测试总也过不去,调试才发现,快排写错了,我只是把开始时间进行了排序,可是相对应的结束时间并没有跟着调整,结果出现了2万多秒的时间间隔!!唉!本来想用结构体定义一下的,但是一想两个元素也不难就懒的写,结果杯具发生了,代码不清晰不说,还调试了好长时间,得不偿失啊剩下的程序逻辑不是很难,把所有情况考虑清楚马上就可以AC了~~/*ID:LANG: CTASK: milk2*/#in

2011-02-25 16:44:00 423

原创 [USACO] Broken Necklace

充满杯具的一道题,提交了5次才AC。。。/*ID:LANG: CTASK: beads*/#include #include #include #define N 350int main() { FILE *fin = fopen("beads.in", "r"); FILE *fout = fopen("beads.out", "w"); char nklace[2 * N + 1]; int left, right, max; int i, j,

2011-02-23 15:01:00 504

原创 [USACO] Friday the Thirteenth

<br />算出每个月的13号距离1900.1.1经过了多少天,然后模7就可以了,这个叫暴力破解(Brute force)?分析上是这么说的,whatever。。。<br />分析的循环又写的比我简洁,看来以后我得注意一下优化和深入分析了。。。<br /> <br />/*ID:LANG: CTASK: friday*/#include <stdio.h>#include <stdlib.h>/*#define leap(y) (y%400==0) || (y%100!=0 &&

2011-02-22 12:10:00 330

原创 [USACO] Greedy Gift Givers

这道题也不难,把题目读透,把例子自己走一遍就OK了。实现上,就是读取数据出了一点儿错,最开始我用fgets()读结果读到了‘/n’‘/0’这样的字符串,最后改用fscanf就好了,它会跳过white space。声明数组时,我想用一个account解决问题,没想到还给自己找了麻烦(+=不是=),早知道就声明两个数组,一个用来放原始数据,一个用来做运算,然后相减,齐活儿。。。上代码!/*ID:LANG: CTASK: gift1*/#include #include #includ

2011-02-21 20:13:00 517

原创 [USACO] Your Ride Is Here

<br />没啥说的,直接上代码。。。<br /><br />/*ID:LANG: CTASK: ride*/#include <stdio.h>#include <string.h>#include <stdlib.h>int main() { FILE *fin = fopen("ride.in", "r"); FILE *fout = fopen("ride.out", "w"); int clen, glen; int cresult, gres

2011-02-20 21:56:00 428 1

原创 CSAPP读书笔记(一)

<br />今天终于把CSAPP第二版前10章看完了(第9章除外),看到第5章时中断了一阵,忙别的事情去了,前前后后加起来大概用了一个多月的时间吧,先小小庆祝一下!<br />总的来说,还是灰常灰常不错的一本书,译者也很用心,但是书中有不少的小错误,虽然很多能在看书时根据上下文推断出来,怎么说也会影响阅读的流畅性。<br /> <br />第5章优化程序性能,感觉里边的优化技术有些已经过时了,现在我们不会为了很小的性能提升去分解循环或者增加步长什么的,不但牺牲了程序的模块性,还使得代码难以阅读。<br />

2010-11-05 15:43:00 591

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除