随笔分类 -  编程之美

编程之美 读书笔记 算法
摘要:《编程之美》读书笔记04: 1.8 小飞的电梯调度算法 假设电梯有n层,上楼要消耗能量k1,下楼要消耗能量k2,用a[i]表示要在第i层下的人数,Si为到i层时已经下(包括i层)的总人数,则总人数S=Sn。若用F(i)表示电梯在i层停时要消耗的总能量,则电梯在i+1层停时,有Si人要多下一层,(S-Si)人少上一层。则: F(i+1) = F(i) + k2*Si - k1*(S-Si) = F(i) + (k2+k1)*Si – k1*S = F(i) + G(i) (定义G(i) = (k2+k1)*Si – k1*S) 由于Si是递增的,G(i)也是递增的,当G(i) <= 0,F 阅读全文
posted @ 2011-03-22 23:16 flyinghearts 阅读(630) 评论(0) 推荐(0)
摘要:题目:写一个程序,让用户来决定Windows任务管理器(Task Manager)的CPU占用率。程序越精简越好,计算机语言不限。例如,可以实现下面三种情况: 1. CPU的占用率固定在50%,为一条直线; 2. CPU的占用率为一条直线,但是具体占用率由命令行参数决定(参数范围1~ 100); 3. CPU的占用率状态是一个正弦曲线。 控制CPU占用率,不仅仅是出于好玩而已。以前的某些程序,特别是某些老游戏,在新的机器上运行速度太快,必须先给CPU降速,才能顺利运行那些程序,有个共享软件CPUKiller,就是专门弄这个的。 控制CPU占用率,因为要调用Windows的API,要考虑到多核、 阅读全文
posted @ 2011-03-22 23:13 flyinghearts 阅读(4675) 评论(1) 推荐(6)
摘要:《编程之美》读书笔记02: 1.3 一摞烙饼的排序问题: 星期五的晚上,一帮同事在希格玛大厦附近的“硬盘酒吧”多喝了几杯。程序员多喝了几杯之后谈什么呢?自然是算法问题。有个同事说:“我以前在餐馆打工,顾客经常点非常多的烙饼。店里的饼大小不一,我习惯在到达顾客饭桌前,把一摞饼按照大小次序摆好——小的在上面,大的在下面。由于我一只手托着盘子,... 阅读全文
posted @ 2010-09-10 23:49 flyinghearts 阅读(3636) 评论(8) 推荐(3)
摘要:《编程之美》读书笔记01: 1.2中国象棋将帅问题 刚看到题时,首先想到的是除法计算除数的商和余数(eax和edx)。后来才想到C/C++中需要动态多维数组时,new一维数组来模拟多维数组时所进行的多维数组的下标和实际偏移量的转换,我想很多人学习C或C++时都做过这种事吧。 本以为题目要求输出将帅在棋盘上的具体位置,如d10、f1,但书中的解法给的是相对位置,解决起来更简单。解法一用了一堆令人讨... 阅读全文
posted @ 2010-09-08 00:47 flyinghearts 阅读(1527) 评论(0) 推荐(2)