【随想集】04 曾经我也想过一了百了
开始前先推荐一首日文歌曲 中岛美嘉 - 曾经我也想过一了百了 以及中文填词 【小宁子】曾经我也想过一了百了》中文版 feat. 绝之望的马沙 (僕が死のうと思ったのは)。第一个链接的视频里,中岛美嘉在接近于失聪的状态唱这一首歌。可以注意细节,有时候她的脚在跺地板找节奏。
差不多两个月时间没有写随想集,自己又折腾出一个网站 Hi - 算法花园・笔记,用来分享一些不成熟的想法。
图论 - 算法花园・笔记
实习的时候做过将CH中的搜索模块从双向 Dijikstra 改成双向 A*,很大一部分精力是在尝试启发函数。后来去面试时,有人给了一个启发函数,问为什么不行?
最近听专门做图论同事分享时,他提到一句所有图论新算法结果需要和dijkstra一致,可能这就是答案。
之前做题目时,喜欢的最短路算法是 SPFA 。前几天为了面试一个候选人,特地去 oi wiki 上回顾了一下其他最短路算法,spfa的优势在于使用队列模拟优先队列,一般出题人不特殊构造图,基本上会比 Dijikstra 快。可惜当时没有改一版试试。
说回来,工业界看起来只有几家公司有图论方面的需求,但也能让一些人做到极致。
我眼中的技术深度
前几天听陶文老师参与录制播客Ep 29. 架构设计与 12fallacy(上) - 捕蛇者说,想起他之前在内网写的文章。作为一名中台部门的算法工程师,其实面临的问题和业务部门的软件工程师挺类似的。
他将工程师的主要工作是定义成:构建一个可持续运行的 solution 去解决用户的一个 problem。深度来自:运营维护这个 solution 如何降低成本以及洞察到 problem 的 new solution。你的竞争力来自:
- 为什么在这个点上,我做过的工作证明了比其他同事要更强。
- 为什么这个能力是当前公司需要的,也就是所谓的收益。
Ise Grand Shrine
很难想象核心模型的训练代码,是一个 10 多人修修补补,长达1 千行的 py 文件(驼峰命名、匈牙利命名、下划线命名混合,多行类似的代码以最后一行生效等)。忍受三年之后,感觉自己有能力去重构一把。特意将分支命名为 ise_gradn_shrine,致敬之前听到的伊势神社(每一代工人之间为传递知识,二十年原地重建一次神社)。并将下面这一段话放到 README 中。
Japan’s Ise Grand Shrine is an extraordinary example in that genre. Every 20 years, caretakers completely tear down the shrine and build it anew. The wooden shrine has been rebuilt again and again for 1,200 years. Locals want to make sure that they don’t ever forget the production knowledge that goes into constructing the shrine. There’s a very clear sense that the older generation wants to teach the building techniques to the younger generation: “I will leave these duties to you next time.”
「旧文重发」:2017 WF感想的校内版本 - 知乎 (zhihu.com)
这两个月一直在强迫自己参加 LeetCode 的双周赛、周赛,现在的水平大概勉强能写出 3 题。赛后会去看一下其他人的题解,很多方法自己是绝对想不到的。机缘巧合看到戴老师的文章,自己之前也没有好好参加 rating 比赛,缺少一份面对真实的勇气。有时候点开 LeetCode 比赛在想,如果这场我一题都不会怎么办?可能唯一的选择是在电脑前坐满两个小时。最后文章里面提到要培养思维,还在上学时被人家评价「只会暴力」,这也是我欠缺的,所以现在打完比赛都会进行简单复盘,自己我感觉挺有收获的,极端方法应该是录屏分析。程序设计竞赛对于我意味着什么?可能山就在那里。
个人实力保证队伍下限,队伍配合决定队伍的上限。
有趣的是,可能是受我之前的错误观念的影响,我们学校这么些年来真正高分 rating 选手确实是少之又少,很多 final 选手甚至不爱打线上比赛(例如 luyi 学长)。即使参加比赛,也总是喜欢开小号,开黑,而不是认认真真的一路做到底。开小号有个什么坏处呢?赢了是我吊,输了不丢人,这种心态就不是个正常打比赛的心态,等到了关键时候,不能开小号了,心理就可能承受不住压力崩溃。
所以做一道题,如果做不出来,看题解不丢人,但要仔细想想:为什么自己想不出来?解题的切入点应该怎么分析出来?以后遇到类似思路、类似条件的题目应该出哪里下手?要及早建立自己的规范的思维方式和体系,这样无论是在竞赛中,还是在以后的学习、工作中,都能发挥重要的作用。
电影《心灵捕手》 西恩关于真实感
你只是个孩子,你根本不晓得你在说什麽。 问你艺术,你可能会提出艺术书籍中的粗浅论调,有关米开朗基罗,你知道很多,他的满腔政治热情,他与教皇相交莫逆,和他的耽于性爱,你对他很清楚吧?但你知道西斯汀教堂的气味吗?你没试过站在那儿,昂首眺望天花板上的名画吧?你肯定未见过吧?
如何阅读?
- 读书是否是唯一重要的事? | Verne in GitHub (einverne.github.io):读书与实践的关系。
- 到底要如何有效读书呢 - 2021年读书计划, 最多只读50本 (zhuoxi.me)
尾巴
推特上冲浪时看到一个问题「数学是发明还是发现?」
【随想集】04 曾经我也想过一了百了