围炉夜话 | 教育已经把我们培养成了成绩的奴隶
前几日在水 98 的时候偶然在一篇讨论绩点的帖子下面,看到了这个回复:“义务教育已经把我们培养成了成绩的奴隶。”当时我毫不犹豫地给了他一个赞,这样看似玩笑的一句调侃,实际上已经狠狠打在挣扎在内卷漩涡中每一个呐喊着的灵魂上了。
上回在紫金港附近一家球厅打台球,和一位很年轻的陪练小哥聊起来,他问我是不是浙大的学生,我说是大一的,他笑了笑说我也就比他小一岁。我打量起他来,摆球击杆的手法无不比我这个门外汉专业无数,料得他早已在这球厅工作了不短时间。当地陪练工资可能在 2000 元左右不等,想起这个,庸俗如我不禁暗自耻笑起自己的 2000 元还是从家里要的。一瞬间,我脑补了小哥高中辍学,沉迷台球之后靠这个赚点烟钱的剧情。同样是这个年纪我无权评价他人的人生选择,但我会反思自己的选择。
能来到浙江大学的学生没有一个不是幸运的,但并不是所有人都是一直幸运的。中国的教育制度试图通过应试教育选拔出一批综合实力很强的学生进入高等学府学习深造,我们暂且不评价高考和K12教育荒谬的本质,我们继续聊回应试的天才——或者说是成绩的奴隶。假如学业成绩已经不能再将人与人之间隔出一道可悲的厚障壁,那我们只能拓宽赛道,并 ...
玩游戏大师 | Terraria开荒杂记(施工中)
基本信息
游戏名称: Terraria
开发商: Re-Logic
游戏时长: 200+h (仅Steam)
游戏水平: 纯萌新/初学者
游戏版本: 1.4.4.9 Windows
Wiki网站: 官方中文泰拉瑞亚 Wiki
食用须知
这里是Vanadium Terraria开荒流程的流水账记录, 包括但不限于Boss打法,游戏技巧,小吐槽等等.
Highlight!!! 我的游戏水平很菜, 打不过白光, 没玩过天顶, 没法无伤任何一个Boss, 有时会逃课, 写这个流程攻略的目的只有一个–分享游戏心得(叠甲叠甲叠甲叠甲)
模组
P佬的个人汉化
官中的翻译一言难尽…什么"克劳德"“斯派克”“萨菲”, 我严重怀疑relogic的翻译项目是外包给临时工的(bushi).
我个人比较推荐P佬的汉化, 主要是集合了很多物品的信息, 免去了我玩一半儿查wiki的动作, 对游戏流畅度和沉浸式体验很有好处.
辅助模组
其他辅助模组就各凭喜好使用吧, 我对Terraria各种玩法(包括但不限于骗伤,逃课,单机模式开挂等等)一向的看法就是: 你已经花了42 ...
FDS晓风残月记略 | AOE网络与网络流&&哈希算法
可能大概是最后一篇自学FDS的笔记了, 解决最后两个问题
残月: 古人对十二月的雅称, 在此表示最后几篇文章
前言
大纲
AOE网络与网络流
哈希算法
参考资料
鹤翔万里的笔记本 | 数据结构基础
中国大学MOOC | 数据结构
正文-上
AOE网络
AOE(activity on edge)网络是一张有向带权图, 其中有向边代表活动, 权值代表活动持续的时间.
关键路径
一个AOE网络有且仅有一个入度为0的节点, 我们称之为源点S; 以及一个出度为0的节点, 我们称之为汇点T. 我们将源点的时间戳记作0.
节点是一个时间概念, 表示两项活动之间的间隔, 这个间隔有长有短. 对于任意一个节点(S,T除外), 当且仅当进入节点的活动全部完成, 离开节点的活动才能开始.
为了保证工期的按时完成, 我们要保证那些绝对不能拖延的活动按时完成, 由这些活动构成的路径, 我们称为关键路径.
节点的时间
对于任何一个节点, 我们存在一个最早发生时间EHT[]和最晚发生时间LHT[].
最早发生时间: 指对于节点V来说, 所有他的前提节点U都完成的时间点. 因为只有所有 ...
FDS晓风残月记略 | 带负权边最短路径&&双连通性
作为FDS的收尾, 补充几个主要是和图有关的算法
残月: 古人对十二月的雅称, 在此表示最后几篇文章
前言
大纲
带负权边最短路径 | Bellman-ford算法与SPFA算法
双连通性 | Tarjan算法
AOE网络与网络流
哈希算法
参考资料
鹤翔万里的笔记本 | 数据结构基础
中国大学MOOC | 数据结构
正文-上
在求解有关最小路径问题的时候, 我们常用的算法是Dijsktra算法和Floyd算法, 这两种算法虽好, 但是对于带负权边图却无能为力. 对于带负权边图的最小路径问题, 我们一般采用Bellman-ford算法及其优化版本SPFA算法.
Bellman-ford算法
与Dijsktra算法的不同
与采用贪心算法进行松弛操作的Dijsktra算法不同, Bellman-ford算法直接对所有边进行松弛, 这在导致其时间复杂度增加至O(∣V∣∣E∣)O(|V||E|)O(∣V∣∣E∣)的同时, 拥有了能处理带负权边图和检测负权回路的能力.
伪代码描述
相比于使用了贪心算法的Dijsktra算法, Bellman-ford算法的实现思路更 ...
C++ | STL III
在这一节, 我们将尝试探讨一个沟通了算法与容器的重要概念–迭代器
前言
参考资料
C艹STL库官方文档
咸鱼暄的代码空间 | 模板 (II) - 理解 STL:迭代器与函数对象
咸鱼暄的代码空间 | 理解 STL - 迭代器与函数对象
正文
从指针到迭代器
迭代器iterator这个名词初见可能比较陌生, 因此在前一篇有关STL的文章 C++ | STL I 中, 我使用了指针来类比这个概念. 今天让我们继续从指针重新开始, 来理解迭代器.
数组是最简单的容器辣!
让我们考虑实现一个数组容器吧, 也不需要支持特别复杂的算法, 有最简单的增改删查就可以了, 因此我们直接考虑用C艹自带的数组来实现我们的数组, 仿照STL的习惯, 我们把成员函数作如下命名
template <class ItemType, int Size>class my_array{ private: ItemType array[Size]; public: my_array(ItemType initial, int num = Size) ...
C++ | STL II
在对STL进行详解之前, 我们先来了解一下怎么使用STL吧! 毕竟在算法竞赛和实际应用中, 我们更加关注使用, 而不是关注底层.
前言
遇事不决, 查标准文档
参考资料
C艹STL库官方文档
咸鱼暄的代码空间 | 模板 (II) - 理解 STL:迭代器与函数对象
咸鱼暄的代码空间 | 理解 STL - 迭代器与函数对象
正文
使用STL | 以map为例
C艹STL库官方文档 | map
首先我们进入官方文档, 可以看到如下页面
请不要使用Chrome自带的翻译插件, 他只会让你更加看不懂;
另, 实在不行可以去看CSDN等社区的阉割介绍, 但请注意甄别;
又另, 这个世界上哪有意思准确的中文文档? 即便是国人自己开发的东西, 你说是吧, 尤雨溪?
想要使用一个STL, 首先要考虑如何实例化, 因此我们寻找构造函数map::map页面
C艹11为我们贴心的准备了5组构造函数, 而且下面有对应的解释
其中1最好理解, 构造一个空的map
map<char, int> demo1; //demo1为空
2被称为范围构造, 也就是利用迭代 ...
C++ | STL I
终于他喵的写到STL了淦, 前置的乱七八糟的东西太多了, 没错我说的就是你, 友元!
我打算先从STL的用法开始, 学习到STL的底层, STL系列也会写的更为详细, 因为他真的, 很重要
前言
STL(Standard Template Library) 源自于C艹第一个标准化版本C艹98(不是CC98哦), 它提供了强大的容器库(Containers library) 和算法库(Algorithm library) 以供使用者直接调用, 其背后体现了泛型编程(Generic programming) 的思想; 即使你像我一样对上面的一堆名词不甚了解, 也可以很好的利用它所提供的常见的数据结构和算法解决很多问题.
参考资料
咸鱼暄的代码空间 | 模板 (I) - 基本知识与 STL 使用
咸鱼暄的代码空间 | 模板 (II) - 理解 STL:迭代器与函数对象
咸鱼暄的代码空间 | 理解 STL - 迭代器与函数对象
YouTube | Back to Basics: Classic STL - Bob Steagall - CppCon 2021
为什么要STL
在我 ...
JS学习札记 | 基础语法
记录一下学习JS的过程
前言
其实想学js很久了, 但是没有一个好的理由, 但是想到三件套是很多前端工具基础, 而js更是基础中的基础(>_<), 这下不得不学了. JS的语法和C艹很像, 比如while, for, class的写法, 但是逻辑却和Python很接近, 毕竟同为轻量级的解释性脚本语言, 对于自身的定位自然是易于上手和开发.
因此我认为对于语法知识的掌握速度应该是没什么问题的, 更重要的是要理解js的本质–一门主要服务于HTML和Web的语言, 这就要求我们要更多的在实战中练习学到的知识, 更要广泛的尝试项目.
解释环境
Node: v20.10.0
参考资料
RUNOOB JavaScript教程
基础语法
类型
JS中有6个数据类型
string
number
boolean
object
function
symbol
3个对象类型
Object
Date
Array
和2个不包含任何值的数据类型
null
undefined
typeof可以查看数据类型
typeof "John" ...
CSS入门学习杂识 | 选择器
记录一点CSS学习心得
参考资料
RUNOOB-CSS教程
W3C-CSS教程
前言
想要高效快捷的学习CSS,你需要:
VSCode, with following extensions
Color Highlight | 颜色显示
Live Server | html热预览
前置知识
熟练的html
入门的JavaScript
辅助工具/网站
配色参考
图片素材
优秀的榜样网站
信息搜索能力
一些小创意和小自信
选择器
选择器(selector) 是CSS与HTML文档交流的桥梁, 是设置CSS样式必需的工具. 选择器的用法难度方差特别大, 用的高级的选择器不亚于使用JS, 而用的随意的选择器也非常适合入门者使用
如果你要在CSS中使用选择器, 你需要为HTML元素设置id和class
<div id="div_1" class="container">...</div>
基础选择器
id选择器
id选择器可以选择有特定id的HTML元素, 在CSS中用#定义, 使用语法如 ...
CSS入门学习杂识 | 盒子模型
记录一点CSS学习心得
参考资料
RUNOOB-CSS教程
CSDN | CSS盒子模型详解
前言
想要高效快捷的学习CSS,你需要:
VSCode, with following extensions
Color Highlight | 颜色显示
Live Server | html热预览
前置知识
熟练的html
入门的JavaScript
辅助工具/网站
配色参考
图片素材
优秀的榜样网站
信息搜索能力
一些小创意和小自信
盒子模型
在任意一个网页按下F12,就可以打开开发者工具,如下图所示,F12可以说是我们最得力的助手(之一)了。
对于学习CSS,我们需要用到的功能不如前端工程师那么多。点击右边第三行第一个图标,我们就可以选取页面上的某一个元素了。
如上图所示,我们选取了一个div属性的元素,其类是.my-home-window,我们可以在右边的源码栏里面看到更详细的信息,比如它的子元素和父元素,它的样式(如果有)以及它的其他可见属性。
我们可以通过这种方式定位某个元素,再到CSS文件中修改样式,但是这不是这篇文章的重点,重点在于我 ...