0%

【题目描述】

给定N个数,求这N个数的最长上升子序列的长度

也就是说,对于给定的序列,保持序列的原有输出不变,从中挑选出一个子集,使其可以满足从小到大的顺序,比如说下面的 2 3 就是符号要求的上升序列,但是 3 5 不行,因为顺序发生了交换。

【样例输入】

7
2 5 3 4 1 7 6
Read more »

一、总论

STL提供了一组表示容器、迭代器、函数对象(没看懂,不会)和算法的模板。

  • 容器是一个与数组类似的单元,可以存储若干个值。STL的容器是同质的,即存储的值的类型相同;
  • 算法是完成特定任务的方法;
  • 迭代器能够用来遍历容器的对象,与能够遍历数组的指针类似,是广义指针;
  • 函数对象是类似于函数的对象,可以是类对象或函数指针(包括函数名,因为函数名被用作指针)。

STL是一种泛型编程(generic programming)模板使得算法独立于存储的数据类型,而迭代器使算法的独立于使用的容器类型。


Read more »

一、排版总论

1.1 缺省权力

首先,最重要最需要强调的是,排版是一个信息量极大的工程。字体,格式,对齐方式,页眉页脚,都只是排版的冰山一角,可以说,一个人是没有办法完全控制一个印刷文件里面的所有排版细节的,就好像人们可以挑选衣服的颜色,款式,但是人们却对“编织手法,扣子是材质”之类的问题疏于关注,这是因为这些细节没办法全部被考量,人类的大脑接受不了这么多的信息。

由此就衍生出了排版里面我最看重的一个概念,就是“缺省”。正是由于人们没有办法关注到每一个细节,所以对于用户没有办法关注到的细节,软件开发者就必须提供“默认设置”,也就是“缺省”。当然理想的缺省是没有任何问题的,人们可以随意修改自己关心的缺省设置为自己的设置,而对于自己不关心的设置就采用“默认设置”。

但是事实似乎并不是这样的,修改缺省设置并不是简简单单的,我曾经为了在word中将目录调成人能看的样子,查阅各种资料查了一个小时,最后手敲的目录。由此就引出了一个基本的问题:似乎缺省设置侵犯了用户排版的权利。而我评价一款排版编辑工具的好坏,最重要的就是看它在我看重的的设置中修改的难度

Read more »

《黄连 $\cdot$ 厚朴》

  • ”雪过黄连淡,风来厚朴香。“
  • 原以为一个新生命诞生了,是件很美丽的事情,父亲难以压抑的激动,母亲洋溢着幸福温馨的笑容,其实满不是那么回事,怕人急了。鬼哭狼嚎,撕心裂肺,血流得汨汨的,他一连看了仨,一个比一个惨烈,最后一个竟是大开膛,掏出来俩死的。想想看,这就叫医生,医生看的是美好事物的反面……
  • 于莲舫说唱的是十不闲,莲花落的一种,这几乎失传的玩意儿让这帮老头老太太捡回来还真不容易呢。张悦问十不闲算不算京韵大鼓?于莲舫说跟京韵大鼓不一样。最早是沿门托钵,要饭的唱的,后来有加以锣鼓,称为了民间演唱形式。张悦说看来是不登大雅之堂的。
  • 煤炉上炖着羊肉萝卜,炉圈上烤着芝麻烧饼,芝麻、羊肉的香味溢满小屋。
  • 严格说黄连是清热药,性味苦寒,针对的多时高热神昏的实证;厚朴辛温,是芳香化湿药,对湿阻脾胃有奇效。
  • 柴把鸭子是龚家的传统菜,做一只鸭子足足要占用两天时间。柴把鸭子只有大年除夕才在龚家饭桌上出现一次。每回做柴把鸭子都是惠生老太太亲自去市场选购,挑选中肥北京填鸭。杀宰晒干后剁去膀爪,用作料腌渍一宿后,由小缸取出,蒸小半日,剃去骨头,切成细条,再用冬笋、冬菇、薹菜、火腿相佐,与鸭条捆扎在一起,放入深盆中,加作料又蒸半日,知道饭桌摆开,鸭子才能起锅。
  • 于莲舫说未知生,焉知死,生如寄,死如归,人还是洒脱些好。任大伟说话是那么说,但死临到谁头上,谁也怕。
  • 酒是君子,亦是小人。君子者可行气和血,壮精神,辟疫难;小人者大热有毒,能助火,一进入体内,先承者为肺,肺乃五脏华盖,属金性躁,而酒气喜升,肺气必随其上升,以致痰郁,小便涩。肺既受贼邪侵伤,便不能滋补肾水,肾水不足也就不能制伏心火。以黄连降心火,以厚朴祛其湿,比单纯用葛花解醒汤更好。
  • 大凡“不行”的男人,多是真元长期亏虚,心不摄念,肾不摄精,需黄连清心汤医治,这世事绕来绕去仍没逃出黄连、厚朴的范围,便有些悲哀。
  • 只有两个老头坐在桌前滋味深长地回味老北京的羊头肉,说廊房二条第一楼后门,裕兴酒店门首,姓马的回回煮的羊头肉最为地道……一老头说,马回回的羊头肉为什么煮的好,汤里搁了厚朴和细辛,这手绝活儿就没人知道……
  • 你们儒家文化造就了另一种人格理想,这就是“正人君子”。在你们柳宗元笔下,标准的正人君子形象是“低首拱手行步,言气卑弱,未尝以色待物,人视只,儒者也。”
  • 男人,特别是中国男人,视“正人君子”为行为道德规范,将外表的面子看成悠悠万事,唯此唯大。但内在之我与外界的面子往往矛盾,就产生人格断裂,在高谈“君子之腹”时却做着小动作,将对方推入难堪之境,细细把玩别人的痛苦与不幸,以这种虐待别人和自虐的心理支撑自己的面子和“正人君子”们高质量的内心平衡。
  • 老爷子说,从医理上来说,心对应五行中的火,经为手少阴经。那日我见此人,表为夸夸其谈,动作夸张,视为心气盛而神有余,宜泻心火。号其脉,却沉濡虚滑,是肾来乘心,水克火,属大逆不治。观其色,面色虽赤,然额上发际起黑,下至鼻梁,延至两颧。

《醉也无聊》

  • “闲来无事不从容,睡觉东窗日已红。”
  • 我们的老姐夫在很多时候都呈迷醉状态,前面说过,他能用一个杏下一瓶竹叶青,他可以不吃饭,但是他得喝酒,并且每天不少于一坛。他常说他一日不饮酒,便觉形神不复相亲,文王饮酒百种,孔子百觚,与先哲比,他还差的远哩。这话往白里说,就是他一天不喝酒,就丢了魂般的难受,人就只剩下了一个空壳,细想想这真的是件很严重的事情,只剩下空壳的人,叫什么人呢。
  • 老姐夫喝酒一般在后院的亭子里,下酒菜多是瓜果梨桃,顶不济也有一碟腌酱瓜。姐夫喝的酒是他自酿的米酒,那酒又甜又香,实则是小孩子最好的饮料。姐夫的院里有十个包着棉絮的青花大缸,那是他的米酒制造工厂,他常常对我说,童儿,去听听,听哪个缸里闹螃蟹。我就趴在一个个缸肚子上听,哪个里面有喳喳喳的声音,哪缸的酒就酿好了。
  • 起酒是件很有意思的工作。熟后的酒,碴液混合,有米的酒中浮泛,饮时需用布过滤,“倾醅漉酒”,这是一个很文明的词儿,且不说这个词儿,仅这个过程的本身就是件雅得不能再雅的事情了。明朝画家丁云鹏有名画《漉酒图》,画上男子神清目秀,长髯飘洒,在柳树下和他的小童儿扯这布滤酒,他们周围黄菊盛开,湖石罗列,石桌酒壶,鲜果美馔,那情景就跟我与老姐夫滤酒一样,不知是明朝人照着我们画的,还是我们跟画上学的。
  • 当时我俩睡的像死狗一样,打都打不醒。刘妈说,躺在地上的我们,身上爬满了蚂蚁,密密的一层,这是因为那酒太香太甜了,蚂蚁也喜欢喝酒。
  • 酒斛子是温酒用的小瓷瓶,小口大肚,一扎高,装不多,随喝随温。老姐夫说那天我跟他在一起喝酒,才喝了一碗,我就倒了,现了原形,原来是个只能装二两的酒斛子。
  • 老姐夫不能离酒的原因是因为他吃药,我们都知道他常服一种叫做“五行散”的东西,五行散是由硫磺、钟乳等矿物金属制成的烈性强身药,服药后必须在院里急走两个时辰,以解药毒,所以叫“行散”。
  • 老姐夫说,东海有山,山上有大桃树,树上住了两个神仙,两个神仙负责阅览众鬼之恶,有害人的,就用苇子绑了,推到山涧喂老虎,立桃梗当门户可以驱鬼辟邪。
  • 几番查阅,我终于搞懂了所谓的“添油法”实际是道家“房中术”一种极简单的传统内功,道家讲究的是“见素抱朴,少私寡欲”,以道家理论,男人的精液为三品上药,他们将少私寡欲不使精液泄泻称之为“闭”。从理论上说“神有所感,即动化气,气即化精排出,或受胎成形,生男育女,或变秽浊流失,直是油干灯尽,精竭人亡。”故有“欲点长明灯,须知添油法”的说辞。
  • 老姐夫说,花生米必须搁在铁盒子里,还要扣严,要不就皮了。皮了的花生米是在是没有吃头。
  • 主食是棒子碴粥,不是老姐夫熬的,是邻居老孟媳妇的制作,送过来小半锅,在火上温着。老姐夫爱喝棒子碴粥,他说这东西是调和脾胃,疏通血脉的补品,但熬棒碴粥需要功夫,得勤看着勤搅动,老姐夫当然没有那耐心,所以咯啊姐夫平日里只能喝简单的棒子面粥而喝不上精细的棒子碴粥。
Read more »

一、性能

1.1 一个饭店

当我们讨论芯片的性能的时候,我们到底在讨论什么?我觉得我们讨论的是理想的优秀。所谓的“高性能”,就跟“成功”一样,是一个绝对正确的概念,有人会说“有钱”好,有人会说“有钱”不好,有人会说“有媳妇”好,有人会说“有媳妇”不好,成功有很多的标准,但是作为最终目标的“成功”,是绝对褒义的,没有人会说“成功”是不好的。

“高性能”这个概念跟“成功”一样,没人会拒绝“高性能”。但是跟“成功”一样,每个人对“高性能”的定义是不一样。为了方便之后的整章对性能的理解,我们这里引入一个贯穿全篇的类比 — 一个饭店。一个饭店好不好,站在消费者的角度,出菜快就是好的,但是在掌柜的角度,出菜快只是一个方面,如果一个饭店只有一张桌子,一个厨子,哪怕这个厨子是厨神,做菜又快又好吃,饭店盈利状况也可能不好,毕竟厨子也是凡人,做菜再快一快不到哪里去,换句话说,这个饭店的客流量的上限是很小的,那么对于掌柜的来说,这个饭店就是不好的。

啰嗦了这么多,只是想说,对于“性能”评价,是一个很困难而且复杂的事情,是一个需要从多方面分析的事情。我们去做体系优化的时候,或许只能优化一个方面,或许优化这个方面会导致另一个方面的下降,就好比厨子应付一些,出菜速度会提高,但是菜品就不一定好吃了,所以根据需求的不同,优化的思路和方向就会不同。承认“性能”的不可度量性,就跟承认“成功”的不可度量性一样,是我认为比较成熟的标志。

Read more »

一、快捷键使用

  • 如果鼠标不选择某个特定区域,那么此时的复制粘贴删除都是对于一行进行的。
  • Ctrl + L :选中特定的一行,如果一直按住,可以选择多行。
  • Ctrl + /:注释掉选中的区域,使用的是单行注释的方式,再按取消注释。
  • Alt + Shift + a :注释掉选中区域,使用的是多行注释的方式,这个按键,可以用右手按 Alt + Shift 相当舒服。
  • Ctrl + d:选中光标所在的单词。
  • F11:全屏。
  • Ctrl + Enter:无论光标在哪里,直接重起下一行。
  • Shift + Alt + F:格式化代码。

二、配置 vscode

2.1 改变插件安装的位置

Read more »