差分约束,虽然是带有“差分”二字,但是实际上通常是归属于图论这一类问题。

差分约束主要的表现形式是求满足一组数值上大小关系条件的最大/最小值。

大小关系条件就是“大于,小于,等于”这种。

通常在拿到一组条件之后,需要确定求的是最大值还是最小值,这会关系到是求最短路还是最长路。

如果是求最大值,一般就是求最短路。与之相对的如果是求最小值就是求最长路。

我们是如何将一组数值上的大小关系条件转换为图论问题的?

我们会将一个关系变为一条边,而在边的两端就是满足这个关系的两个客体。而且通常需要根据是求最大值还是最小值并根据贪心的思想,先将这个关系统一转换为小于等于或者大于等于。

举个例子,对于求最大值来说,需要将所有的关系转换为小于等于,最终的答案就是求满足这一组小于等于关系的一个交集。通过跑最短路,可以不断的去求这个交集。

比如现在有两个值a,b,并且有三个关系

a ≤ b + 1

a ≤ b + 2

a ≤ b + 3

a ≥ 0

b ≥ 0

需要求的是满足这个条件每个数的最大值,假如给a,b分别设置为1,2号点,那么对于前三个关系可以看做是b分别向a连了3条边,权值分别是1,2,3。而对于最后两个条件可以看做是a,b两个点分别向超级源点0连了一条边权为0的边。之后去跑最短路,可以求出a,b两点向超级源点的最短的距离是1,0。所以满足这个条件的最大值就是1,0

上午早十是数据库,课上把上一周没有看完的差分约束 + tarjan + topo 的一道题目看完。其实最近感觉要是想要安安静静的学习一段时间也是某种奢求,对于我这种“课外活动”比较多,有的时候都会认为自己在学校不是以一个学生的身份而是以一个社会人的身份在各种组织里面来回游走。所以当真正开始有一些空余时间之后还是会变得有些不知所措,有点忘记学生应该如何学习。实际上能够两耳不闻窗外事,一心只读圣贤书是一件很幸福的事情。

最近看书看到这个up,b站上就去关注了一下。

https://space.bilibili.com/1317344920?spm_id_from=333.1387.follow.user_card.click

有一说一他的生活比较接近我理想的状态。也恰好是在现代社会。

我比较喜欢的生活就是这样一边做远程,然后一边到处玩,然后保持单身。挺好的。

唉唉,最近好焦虑。

上面应该有附图的,但是图床貌似出了点问题,得找个时间修一修。

今日天晴 宜休息。
开学了,又是换实验室。不过是另外一个社团。
去年经历的有点多,今年开年就显得平平无奇。
开始有点摆了。
其实工作还是挺多的,一方面是社团的日常工作,另外一方面就是以前欠下的工作。
比赛的话已经有点不想打了。到了大二下的这个时期,很多东西也差不多想明白了一点。
其实最主要的就还是对于很多需要“拼劲”作为前置条件的事情,我已经有了一点排斥。
节奏就慢慢的慢了下来。
友谊方面还是不行,虽然很多地方都能融进去,但是还是和以前一样,一但要深交就有某种恐惧,客观上来说这种应该是潜意识的影响,很多时候,我都不知道为什么就已经做出了把别人推出我舒适圈的行为。
可能还是打游击式的在各个不同程度的友谊圈子之间来回游走满足自己的情绪需要。
我还是挺自私的一个人。不是啥好人。
但是能够彻底的当一个自私的人也没什么不好的,对别人也会做一些筛选,自己会舒服一点,也不会影响看不惯我的人。
我就是这样小心翼翼的活着。
没有很强烈的想要获得什么的欲望,也没有什么很想实现的理想,更没有什么必须完成的使命。
我就是这样简简单单的活着,这样也没什么不好的。
我到现在已经想明白了,社团的工作能推就推掉,尽量降低在社团的话语权,比赛已经报名的打完,然后答应打的打完,之后就不打新比赛了。
剩下的时间就自己学点想学的,有空的时候出去转转,和别人一块到处玩,吃点好吃的。这样已经是来之不易的幸福。
希望我们都好好的。

在 VScode 中配置前端代码格式化,可以通过以下几个步骤进行:

1. 安装 Prettier 插件

Prettier 是一个流行的代码格式化工具,支持很多编程语言,包括 JavaScript、TypeScript、HTML 和 CSS。

  • 打开 VScode,点击左侧的 扩展(Extensions)图标,搜索并安装 Prettier - Code formatter

2. 配置 Prettier

通过修改 .vscode/settings.json 文件来配置 Prettier 格式化选项:

  • 在 React 项目的根目录下创建(如果没有的话)一个 .vscode/settings.json 文件,添加以下内容:

    {
    "editor.defaultFormatter": "esbenp.prettier-vscode",
    "editor.formatOnSave": true, // 保存时自动格式化
    "prettier.singleQuote": true, // 使用单引号
    "prettier.trailingComma": "es5", // 在可能的情况下,添加尾随逗号
    "prettier.semi": true, // 结尾加分号
    "prettier.tabWidth": 2 // 缩进宽度
    }

3. 配置项目中的 .prettierrc 文件(可选)

为了让团队中的每个人都使用相同的代码格式,可以在项目根目录下添加一个 .prettierrc 配置文件,内容如下:

{
  "singleQuote": true,
  "trailingComma": "es5",
  "semi": true,
  "tabWidth": 2
}

这样,无论是使用 Prettier 插件,还是通过命令行运行 prettier,都会遵循这些配置。