0%

简介

辗转相除法是经典的求最大公约数的算法,也是已知的最古老的算法,最近学到了扩展的辗转相除法,也就是对于$a$和$b$不仅返回$\gcd(a,b)$,而且返回$x$和$y$使得$xa + yb=\gcd(a,b)$.

在实现的过程中遇到了我觉得还算有意思的一点bug,就记录了下来. 用的Python.

阅读全文 »

简介

第二章的第一部分主要集中介绍了命令who和实现一个自己的who,其中比较有收货的是man文档的使用,文件读写操作,Linux时间表示方法,以及printf的格式符。

who命令是一个比较老的命令,而且现如今也用的不多,有一些终端模拟器甚至不再支持这些命令以至于这些命令会出现bug。

阅读全文 »

简介

在上一篇博文中,介绍了 Unix/Linux编程实践教程 第一章中的两个标程,这两个标程实现了很简陋(根本没办法用)的more命令,这一篇博文则是Rivers在自己实现一个勉强可以使用的more命令的途中的一些感悟。具体的源码在Github上都有了。可以通过查看不同的commit来看各种功能具体是怎么实现的。也欢迎来找bug。

阅读全文 »

简介

这次博文是我阅读 Understanding Unix/Linux Programming 这本书的第一章做的相关笔记,第一章主要是介绍了操作系统概念和一个极不完善的more命令,这篇文章主要关注more命令的编写,当然,这次主要是书上源码和项目组织的一点感悟,下次会是完整的编写一个more命令。

阅读全文 »

This is a post about the extra practice of an open course on Coursera, Programming Language Part B Week1. This post will present code snippets and corresponding explanations of practice 7 and 8. The whole code is available on Github.

This is also my first post about extra practice of PL. Dan tells us not to present code of homework online, so I won’t. But it feels like presenting code of extra practice is OK.

阅读全文 »

Intro

pstree is a program in the package psmisc and can be downloaded on the site of Ubuntu packages. And now it is used as a Minilab(M1) of OS Course in NJU.

According to the handout of M1, I only need to implement a simplified version of pstree, including option Vpn and the corresponding long options. To accomplish the target, the whole program can be divided into three parts:

  1. Read and process the options
  2. Read the info of processes(pid, ppid(pid of the parent process), name)
  3. Save the info of processes and build the data structure of them
  4. Print the processes as a tree

Actually, the 2nd and 3rd parts are done simultaneously.

阅读全文 »

LECTURE 1: Probability models and axioms

Two Steps

  1. Describe possible outcomes
  2. Describe beliefs about likelihood of outcomes

Sample Space

Sample space is the set of all outcomes of the experiment. It can be discrete or continuous, finite or infinite.

Event: subset of sample space

Probability Axioms and Derived Consequences

Axioms:

  1. Nonnegativity: $P(A)\ge0$
  2. Normalization: $P(\Omega)=1$
  3. (Finite) additivity: if $A\cap B=\phi$, then $P(A\cup B)=P(A)+P(B)$

Consequences:

  1. $P(A)\le 1$
  2. $P(\phi)=0$
  3. $P(A)+P(A^{C})=1$
  4. For mutually disjoint sets $A_1,A_2,\ldots,A_k$,
    $P(A_1\cup A_2\cup\ldots\cup A_k)=P(A_1)+P(A_2)+\ldots+P(A_k)$
  5. $P(s_1,s_2,\ldots,s_k)=P(\lbrace s_1\rbrace)+P(\lbrace s_2\rbrace)+\ldots+P(\lbrace s_k\rbrace)$
  6. If $A\subset B$, $P(A)\le P(B)$
  7. $P(A\cup B)=P(A)+P(B)-P(A\cap B)$
  8. $P(A\cup B)\le P(A)+P(B)$
  9. $P(A\cup B\cup C)=P(A)+P(B\cap A^{C})+P(C\cap B^{C} \cap A^{C})$
阅读全文 »

寒假还未开始,家里人就已经决定要集体出游,上次出游去的是帝都,在茫茫人海中行色匆匆地游览了一些名胜,现在想来,还是应该修完中国近现代史而后再去,了解的会多一些,收获会大一些。

加上帝都主要都是文化名胜,自然风景尚可,但不是主要,于是今年决定去看点风景,思来想去决定爬山,一开始说要去泰山,后来决定去黄山,说到底还是因为徐霞客的”五岳归来不看山,黄山归来不看岳”。

在汤口镇住了三天,第一天爬黄山,第二天游宏村,第三天在跑路之前去了屯溪老街。

都说黄山有四绝,奇松,怪石,云海,温泉,但是温泉需要一定的经济基础,穷游的我果断放弃了,而剩下的三绝倒的的确确是体会到了。

为了爬山,早上五点多就起了床,但事实证明还是不够早,听说有许多人三点就起床走了,黄山上山有两个入口,一个是前山的慈光阁,一个是后山的云谷寺,经典的线路似乎是从云谷寺上山,而后从慈光阁下山,因为前山比后山要难以攀爬,但是听到云谷寺接送车站前的大喇叭不断地喊着:”此处登山等待时间约为两个小时,建议从慈光阁上山”,就打消了随大流的念头。

后来的经历证明前山确实比后山更加陡峭,但是这个发现在我的团队里意义不大,因为在玉屏楼的时候,四个人里就有三个提出下山了,明明只走了四分之一(或许还不到)的道路。

从慈光阁到玉屏楼的路上,也是第一次见到黄山云海(或许叫云雾更合适)的时候,确实清逸缥缈,如梦似幻,比那日南京,镇江等地的大雾多了几分生气和仙气。

如果说在慈光阁到玉屏楼的路上还有什么令人难忘的景色的话,首当其冲的就是蓬莱三岛,而且到达蓬莱三岛时,太阳悬空而照,正对着游览的人群,将三岛的轮廓化作了幽深的影子。

而后的旅行,便是直上玉屏楼,玉屏楼上有整个黄山的象征与标志–迎客松,但是似乎是为了不知名的原因,迎客松下被搭起了一个丑陋的脚手架。但是玉屏楼确实是整个黄山之旅中景色最好的一处,一方面是视野开阔,另一方面是当我到达玉屏楼时仍然留有余力,并不觉得有多累。


玉屏楼之后,我便一人独行,后来路上的人逐渐变多,甚至有几次拥堵的经历,我的体力也渐渐耗尽,最后的一半左右的旅程与其说是游览,不如说是赶路,我要做的,就是完成我原定的计划,于慈光阁上山,于云谷寺下山,能够说得出名字的景色就是那块飞来石,不过飞来石旁有点奇怪,整块石头立于悬崖峭壁之上,但是只有一半的地方有护栏,另外一半没有。而且有许多好景色并没有明确的标出名字。

阅读全文 »

养成良好的git使用习惯,不要随意使用 reset --hard

本来是想12点前写好发出来的,结果dota着就1点了,本来想着大年初一起来再写,(或者自暴自弃不写了),但是去年还是很有意思,还是写完再睡。

年初(一上寒假):

  • 回了湖南家乡一趟,已经有将近九年没有回去了,那里的人和事都和我的倾向有些不同了

  • 摸了托福的鱼,和几个高中同学一起上课(好多位NJU的),后来就没怎么在见过了,有些遗憾(什么遗憾啊,就是想小姐姐了)

  • 近距离观察了几个新东方的托福老师,各有特点

一上:

  • 托福首考还算说得过去,早上赶地铁6点在宿舍门口惊醒了宿管阿姨,感到新奇

  • 被OJ虐的不轻,愁云惨淡万里凝

  • 如果说问求OJ让我怀疑自己的方向,那么大学物理就击溃了我对学习能力的信心

  • 各门课程都通过合法而神奇的手段活了下来

  • 内心非常动摇,几乎要退却,但还是算了

年中(暑假):

  • 又回到了湖南,尽管一万个不愿意,还是回去了,在那里,家人致力于使用超自然力量调整我的身心状态

  • 浑浑噩噩,碎片化学习,系统化玩耍

  • 最后一周突击学习汇编效果显著

  • 提前了解了一点PA,事后感到非常庆幸

二上:

  • 暂时性戒掉了dota,一个学期没有碰

  • 前半个学期发愤图强,后半个学期奇奇怪怪

  • 临近期末,压力陡增,身心有些失衡,又几乎想要退却,但想想还是算了

  • 期末前为了缓解压力,看掉了绵延近一年的PL Part A,老师讲的很不错,作业也很对胃口,后两部也要追

  • 在看PL Part A的时候,被老师用的emacs吸引,学了一下,勉强可以在emacs的世界里苟延残喘

  • 在atom, emacs, vim, vscode这些编辑器和eclipse-cdt, c::b, qt这些IDE间举棋不定,现在在用emacs,准备学c::b(当然,没有放下vim

  • 问题求解三让我大惊失色

  • 和qlz缘分已尽

年末(寒假):

  • 轰轰烈烈的寒假计划已经流产了89%

  • HK打算抱大腿了

  • 被twins邀请前去数模,献上衷心的感谢,虽然有些痛苦,我发挥的作用也不大,但不失为一次经历

  • 这个博客本来说是周更的,结果现在欠了将近十更,打算补一些