Hello World

Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.

Quick Start

Create a new post

1
$ hexo new "My New Post"

More info: Writing

Run server

1
$ hexo server

More info: Server

Generate static files

1
$ hexo generate

More info: Generating

Deploy to remote sites

1
$ hexo deploy

More info: Deployment

四季的风吹不进无风之地,因为无风之地“无风”

愿我能化作微风吹拂那无风之地,带走尘蓄 —— 题记

我曾想带你走出那无风之地,却发现我早已困陷其中……
故事始于一段故事的结束,可能终于这寒冷的冰秋。但我不愿故事早早结束,我想用我仅剩不多的暗淡之火,在这寒秋增温续事。
何处来的深压(Depress),将能够吹拂微风的人压进无风之地。或许连他本人都不知道,为什么会有这深压(Depress),最终将Depress变成Major Depressive Disorder。
是MDD毁了一切吗,还是因为变为无风之人才将自我毁坏从而才有了MDD呢?谁知道呢?
能吹风的人怎么会理解无风之人的痛苦呢?
是啊,可能正是因为没有人能理解他,才将他的Depressive Disorder赋予了Major吧。这Major却不是形容盛大的褒义词,而是代表极大的程度啊。
可能无风之人本人也不会寻求救助,他拖延的这3年,隐藏的十分好,几乎没有人觉得他有DD,但这也造就了他变成MDD啊。
以为一切都解脱了吗……天真的无风之人,这2个月的长假,半年的自由或许才是你真正崩坏的开始吧,或许他的选择都是错误的,但那又如何呢,能拯救他的人不也是一个个离开他了吗……
天真的小可爱,以为医院还能够救他,只是加快他崩坏罢了。
不久,MDD成功变成了BD,但他或许也找到了他真正喜欢的人,或许能够拯救他的人。
那又如何呢?
现在不还是可能离开你了吗。
天真。
这牢笼至今,还没有能完整逃出去的人呢。
或许人本就属于这里。
小可爱啊,可怜的小可爱,本不属于这里的小可爱,就留在这里好吗?
不需要期待吹风之人了,都是无风之人间的娱乐而已。
你或许原本就属于这里。

第一次(第二次)OD右美沙芬(愈美片)的感受

我不推荐任何人进行od

用药总览

Day1. 20:48

口服 甲氧氯普胺片(5mg) 1t

Day1. 20:59

口服 多烯磷脂酰胆碱(228mg) 2t

Day1. 21:10

口服 愈美片(氢溴酸右美沙芬15mg, 愈创木酚甘油醚100mg) 云药4t, 新康泰克 12t
口服 碳酸氢钠片(0.5g) 2t

Day1. 21:15

口服 巴氯芬片(10mg) 1t

感受总览

作者在药效还没完全过的时候写的

Day1. 21:45

感受到轻微头晕,身体软

Day1. 22:15

头晕慢慢退去,解离感出现,感觉身体变得很轻,一定欣快感

Day2. 00:00

大概是最轻的时候,行动力出现一定障碍

Day2. 03:50

仍然有一定头晕,在书写此篇文章,困意稍微明显

Day2. 05:00

在楼下荡秋千玩,解离感几乎彻底消失,心情平静 HRV32ms(平时11ms)

Day2. 5:18

莫名恶心

此期间语言功能没有障碍,神态较正常,欣快感出现,性欲一般,未出现过敏反应

作者在Day1之前一天0:10口服了12t愈美片(云药) 0:53口服了6愈美片(云药) 23:31服用了6t盐酸金刚烷胺片

作者在进行此次OD前服用了约2天吡拉西坦片(0.4g) 约1天长春西汀片(5mg) 约半天胞磷胆碱钠胶囊(0.1g)

作者对前些天OD 右美沙芬金刚烷胺感受不佳,晚安幻觉微弱,可能由于作者长期摄入食物不均衡导致体内多巴胺等不足 或因为作者长期使用碳酸锂 米那普仑等药物影响

2025年杭州市中小学生科技界·计算机编程活动 C++ Python 编程代码模块挑战赛 高中组 题目 1.分数(回忆版)

作者回忆,大多数可能不准确

题目描述

N个分数,需要以p/q的格式输出N个分数之和的最简格式(如果结果为整数你需要输出p/1)
解释:假设n=3, 将会输入3个p,q,例如p=1, 2, 3 q=3, 2, 1(按顺序对应p/q) 计算的结果输出应当为13/3

输入格式

第一行为整数n
接下来n行,每行两个整数pq表示分数p/q(以空格间隔)

输出格式

1行, 为p/q代表计算结果

输入输出样例

样例#1

输入

1
2
3
4
3
1 3
2 2
3 1

输出

1
13/3

说明/提示

对于100%的数据, $2\le n\le10$, $1\le p,q\le10^{9}$


作者提供的题解

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include <iostream>
#define MAX_N 10
#define int long long

using namespace std;

int n, nums[MAX_N][2];

int inline gcd(int a, int b) {
while (b) swap(a %= b, b);
return a;
}

int inline lcm(int a, int b) {
return a / gcd(a, b) * b;
}
signed main()
{
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
cin >> n;
for(int i = 0; i < n; i++)
cin >> nums[i][0] >> nums[i][1];
int q = nums[0][1];
for (int i = 0; i < n; i++) {
q = lcm(q, nums[i][1]);
}
int p = 0;
for (int i = 0; i < n; i++) {
p += nums[i][0] * (q / nums[i][1]);
}
if (p == q) {
cout << "1/1\n";
return 0;
}
int factory = gcd(p, q);
p /= factory;
q /= factory;
cout << p << "/" << q << "\n";
}

HomeAssistant教程1 - 注意事项

千万不要在HA系统开机期间断电,否则会造成硬盘分区丢失(亲生教训)

  • Terminal & SSH插件已经换成Advanced SSH & Web Terminal了
  • ssh的用户名和密码为网页注册时输入的,SSH Port为27

DSM-5 P144 TABLE3.3

DSM-5 表 3.3

可适用于情绪障碍的描述词(Descriptors)与特征说明(Specifiers)

障碍类型 严重程度
(Severity, p.157)
缓解状态
(Remission, p.158)
伴混合特征
(With mixed features, p.161)
伴焦虑痛苦
(With anxious distress, p.158)
伴紧张症
(With catatonia, p.160)
伴非典型特征
(With atypical features, p.159)
伴忧郁特征
(With melancholic features, p.160)
伴围产期起病
(With peripartum onset, p.162)
伴精神病性特征
(With psychotic features, p.163)
伴快速循环
(With rapid cycling, p.164)
伴季节性模式
(With seasonal pattern, p.164)
重度抑郁障碍(Major Depression)
单次发作(Single Episode) × × × × × × ×
复发型(Recurrent) × × × × × ×
双相 I 型障碍(Bipolar I Disorder)
最近一次躁狂发作(Most recent manic) × × × × × × × × ×
最近一次抑郁发作(Most recent depressed) × × × × × × × × × × ×
最近一次轻躁发作(Most recent hypomanic) × × × × × × ×
最近一次未特定发作(Most recent unspecified) × ×
双相 II 型障碍(Bipolar II Disorder)
最近一次轻躁发作(Most recent hypomanic) × × × ×
最近一次抑郁发作(Most recent depressed) × × × × × × × × × × ×
环性心境障碍(Cyclothymic Disorder) × × × ×
**持续性抑郁障碍(Persistent Depressive Disorder)**ᵇ × × × ×

备注

  • a. “伴紧张症(With catatonia)”说明需要 独立的编码与描述行(见 p.160)。
  • b. “持续性抑郁障碍”也可包含:
    • 伴或不伴 间歇性重度抑郁发作(with/without current episode)
    • 纯粹心境恶劣综合征(with pure dysthymic syndrome)
    • 持续性重度抑郁发作(with persistent major depressive episode)(见 p.139)。

使用说明(DSM-5 原文建议)

“此表可帮助你选择情绪障碍的完整名称、代码与修饰语串。
从左到右依次阅读,在名称后依次添加适用的修饰语。”

Github Student Developer Pack申请指南

Github Student Developer Pack申请指南

本人申请几乎是把坑都踩遍了

写在前面

Github申请学生认证对于中国高中生确实不太友好
你需要的东西:

  • 良好的网络条件
  • edu邮箱(最好有)
  • 证明你是学生的材料(最好是英文的 不要自己翻译 不认可)
  • 至少会写工单申诉(实在不行GPT也是可以的)

1.预先准备

首先进入Github Profile Settings,将Name项改为英文名。
e.g.比如某人叫做张三,那应当改为San Zhang/Zhang San,按个人习惯和证件为准

接下来点击侧栏中Access下的Billing and licensing,进入展开项里面的Payment information

点击Billing information右侧的Edit按钮

First NameLast Name改为英文名,顺序与先前Profile中的Name相同,最后点击下方绿色按钮(Save billing information)

2.申请流程

进入侧边栏中的Education benefits(位于Billing and licensing展开项内)

进行这步的时候不要使用VPN!!!

点击绿色的Start an application按钮

Page 1.

Page 2.

Page 3.


填写指南
第一页
  • Select your role in education 选择你的角色 按情况填写
  • What is the name of your school 填写你学校的全名 不要写缩写 不要写中文
  • What is your school email address 填写你学校的电子邮件 如果有edu邮箱可以点击下方的蓝色小字Add it here添加 没有的随便选择
  • 点击左下角的按钮,成功后如图显示变灰
  • 点击右下角按钮下一步
第二页
  • What is your school’s website 填写你学校的官网(!!注意!! 请检查你学校的官网在中国大陆境外是否可访问 如果不可访问不要填写 笔者在这里就踩坑过)
  • What academic email does your school provide to teachers 如果前面的role选择是Teacher且有edu邮箱可以写
  • What academic email does your school provide to students 如果前面的role选择是Student且有edu邮箱可以写
  • How would you describe your school? * 必填项 选择你的学校类型 第一个是大学 第二个是高中 第三个是非正式机构
  • How many students are enrolled at your school? 你学校有多少学生 按真实情况填写
  • Street address 填写学校地址(街道|用英文)
  • City* 填写学校所在城市(用英文)
  • Country* 填写学校所在国家(下拉框选取)
  • State, region, or province 填写学校所在的省份(用英文)
  • 点击右下角按钮下一步
第三页

如果你的学校不提供电子邮箱(edu),这步你需要使用摄像头捕获图像,不能上传

  • 选择一个合适的证明方式
  • 捕获图片
  • 提交
    (笔者最终使用的是ISIC学生证+工单通过的)

3.等待结果

如果你的学校官网无法访问,那么你很有可能被拒绝,这个时候你需要填写工单。
举例:

版本号的定义

1.版本号的基本结构

最常见的形式是 语义化版本号(Semantic Versioning, SemVer)

1
2
Major.Minor.Patch
主版本号.次版本号.修订号

e.g. 1.2.3

  • 主版本号(Major)
    • 当你做了不兼容的 API 或重大功能变更时增加
    • 例如从 1.x.x 升级到 2.x.x
  • 次版本号(Minor)
    • 当你做了向下兼容的新功能时增加
    • 例如从 1.2.3 升级到 1.3.0
  • 修订号(Patch)
    • 当你做了向下兼容的问题修复时增加
    • 例如从 1.2.3 升级到 1.2.4

2.可选扩展部分

  • 先行版本号(Pre-release)
    • 用于 alpha、beta、RC 等测试版本
    • 如1.2.3-alpha.1 | 2.0.0-beta.2
  • 构建元数据(Build metadata)
    • 用于标记构建编号或 CI/CD 信息
    • 如1.2.3+20251026.1
      完整版语义化版本号MAJOR.MINOR.PATCH-PRERELEASE+BUILD

个人例子:
本人Github上发布的项目Hashit的一个Release可以这么写版本号
1.0.0-stable+62198d63
其中62198d63是CRC-32

ATRI ~My Dear Moment~中值得写入作文的句子

ATRI ~My Dear Moment~中值得写入作文的句子

本文章中的句子出自ATRI ~My Dear Moment~ 版权归出版方所有

(2025.10.26)

1. 光芒,会给与人类希望。有了希望,人们就能继续前行。无论那束光芒多么遥远,多么渺小,人们都会迈向未来,相信自己终有一日能够抵达。 —— 夏生

· 类型:抒情散文 / 励志作文 / 科幻小说中的哲理描写
· 场景:描写人类追寻希望的精神、克服困难的场景,适合开篇或高潮时点明主题。

2. 人类要想活下去,是需要光的 —— ATRI

· 类型:科幻哲学 / 议论文
· 场景:讨论人类生存与文明延续的命题场景,可用于文章开头的引言或科幻世界观设定。

3. 如果固执己见就能让现状算作幸福,那么据推测,幸福与不幸都是毫无价值的概念 —— ATRI

类型:哲理议论文 / 抒情散文
场景:适合写思想深度的段落,用来探讨幸福与价值、人的选择与坚持。

4. 接受灭亡,坐以待毙就是解脱吗?乐园和墓地是同义词吗?如果还有时间,就应该挣扎到最后。如果因为终有一死就放弃挣扎,那人类的一生也没有意义,立刻死去反而代价会更小。 —— ATRI

· 类型:哲理议论文 / 科幻小说人物独白
· 场景:适合描写面对危机、末日或绝望境地时的思考,用作冲突高潮或人物心理刻画。

5. 人类的繁荣也都会失去意义,毕竟地球自有命数,宇宙也终将迎来热寂 —— 夏生

· 类型:科幻哲学 / 宇宙观描写
· 场景:文章中的宏观哲理描写,适合铺陈末日感或宇宙背景,增强史诗感。

6. 请不要舍弃自己的未来 —— ATRI

· 类型:励志 / 抒情 / 励志作文
· 场景:直接点明主题,适合作为呼吁、结尾或高潮段的鼓舞语句。

7. 没有好奇心的人是做不出学问的,要是有能想象出“说不定”,用这仅存的可能性来拓开范围的心境,那被看做是错误的行为不如说会变成线索也说不定 —— 夏生父亲

· 类型:议论文 / 励志散文
· 场景:强调探索精神与科学态度,适合写学习、科研、创新主题作文或哲理科幻背景。

8. 不知喜悦,何来悲伤? —— 夏生

· 类型:抒情散文 / 文学哲思
· 场景:适合作为反思、哲理描写或人物心理独白的句子,突出情感对比。

9. 只要有光,无论目标多么遥远,人们都能继续前行 —— 夏生

· 类型:励志 / 抒情 / 科幻哲理
· 场景:强调希望与目标,适合文章核心主题、开篇引题或高潮段落。

10. 人类的自救之路永远不会断绝 —— 夏生

· 类型:科幻哲学 / 励志
· 场景:描写人类坚韧不拔的精神,适合结尾总结、鼓舞读者。

11. 我们不知道什么才是正确的。只是不想放弃未来而已 —— 夏生

· 类型:哲理抒情 / 科幻小说人物心理
· 场景:刻画人物理性与坚持,适合作为心理独白或反思段落。

12. 大家看向我指的方向。那里出现了一道飞翔的红色光芒。从云间飞向宇宙的一束光芒。为了摆脱地球重力,正在喷射出庞大的能量。那是指向未来的光之轨迹。这代表着人类即将离开陆地也要生存下去的傲慢,以及绝不向渐渐到来的灭亡妥协的决心。这无关善恶,只是纯粹对生存的执着,对未来的期盼。 —— 夏生

· 类型:科幻小说 / 叙事文学 / 抒情散文
· 场景:科幻作品高潮描写,史诗场景刻画人类奋斗与希望,适合小说高潮或视觉化描写段落。

(2025.10.29)

13. 时间流逝吧,你是多么的残酷—— —— ATRI

· 类型:哲理抒情 / 议论文引言 / 成长叙事
· 场景:适合探讨时间与成长主题的作文开头或结尾。表现对“短暂与永恒”的思考,也可用于描写告别、珍惜当下的情感段落。

14. 明明只是被编写出来的程序,却也拥有了想笑、想哭、想活下去的心情。—— ATRI

· 类型:科幻哲思 / 抒情散文 / 议论文素材
· 场景:探讨“人类与AI”“情感与意识”主题时使用。适合思辨作文中论证“情感使生命有意义”的观点,或抒发对人性温度的感悟。

15. 世界再一次被海水覆盖,而我也终于学会了微笑着告别。—— 夏生

· 类型:叙事文学 / 抒情散文 / 成长主题
· 场景:用于描写“告别”“成长”“和解”的结尾段。具有强烈的画面感与情感收束感,可作为抒情类作文的收尾金句。

16. 哪怕世界终将被淹没,我也想把这份思念传达给你。—— ATRI

· 类型:抒情文学 / 爱与希望主题 / 记叙文高潮
· 场景:表现坚定情感或永恒羁绊时使用。适合描写爱情、友情、亲情等主题,也可用作象征“人性中的温暖与希望”的句子。

17. 海浪打碎一切,却也带来了新的生命。毁灭与诞生,总是携手而来。—— 夏生

· 类型:哲理文学 / 自然类作文 / 抒情议论文
· 场景:讨论“自然与人类”“循环与重生”等话题时引用,尤其适合作文中哲理性转折或总结段落。

18. 我想去看看未曾抵达的世界,就算那尽头是无边的深海。—— ATRI

· 类型:冒险主题 / 抒情叙事 / 梦想议论文
· 场景:适合用于描写“理想”“勇气”“未知的探索”等主题作文的开头或人物心声部分,象征追梦与不屈。

19. 人类总是害怕孤独,却又在孤独中不断前进。—— 夏生

· 类型:哲理抒情 / 议论文素材 / 心理主题
· 场景:用于讨论“孤独与成长”“自我与群体”的议论文中,或叙事作品中人物自省段,体现人类存在的矛盾与力量。

来自游玩时摘抄,如有纰漏敬请补充。

其实我觉得Happy Ending并不Happy(

C++中的"volatile"关键字

1.”volatile”的语义

1
volatile int flag = 0;
  • 表示flag可能被硬件、中断、多线程或其他外部因素修改
  • 编译器不能假设其值在两次访问之间保持不变
  • 禁止优化:如删除“看似无用”的读取、合并多次读取、将变量放入寄存器等

2.从汇编角度看

样例代码Code1: (无volatile)
1
2
3
4
5
int flag = 1;
int sum = 0;
for (int i = 0; i < 1000; i++) {
sum += flag; // 编译器可能优化为 sum += 1
}

可能生成的汇编代码

1
movl   $1000, %eax    ; sum = 1000 * 1

完全跳过循环和内存访问,因为编译器认为flag不会变。

样例代码Code2: (有volatile)
1
2
3
4
5
volatile int flag = 1;
int sum = 0;
for (int i = 0; i < 1000; i++) {
sum += flag; // 必须每次从内存读取 flag
}

可能生成的汇编代码

1
2
3
4
5
6
7
8
9
10
movl   $0, %ebx          ; sum = 0
movl $0, %ecx ; i = 0
.L1:
cmpl $1000, %ecx
jge .L2
movl flag(%rip), %eax ; ← 每次都从内存读取 flag!
addl %eax, %ebx ; sum += flag
incl %ecx
jmp .L1
.L2:
  • 每次循环都执行movl flag(%rip), %eax从内存加载flag
  • 即使flag在循环中未被本程序修改,编译器也不敢假设其值不变

本文章中的汇编不确保可以运行,是”伪代码”

3.样例代码实际输出的汇编码

Compile on Archlinux WSL

样例代码CodeA: (无volatile)
1
2
3
4
5
6
7
8
int main(){
int flag = 1;
int sum = 0;
for (int i = 0; i < 1000; i++) {
sum += flag;
}
return 0;
}

汇编代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
	.file	"codeA.cpp"
.text
.globl main
.type main, @function
main:
.LFB0:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
movl $1, -4(%rbp)
movl $0, -12(%rbp)
movl $0, -8(%rbp)
jmp .L2
.L3:
movl -4(%rbp), %eax
addl %eax, -12(%rbp)
addl $1, -8(%rbp)
.L2:
cmpl $999, -8(%rbp)
jle .L3
movl $0, %eax
popq %rbp
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE0:
.size main, .-main
.ident "GCC: (GNU) 15.2.1 20250813"
.section .note.GNU-stack,"",@progbits
样例代码CodeB: (有volatile)
1
2
3
4
5
6
7
8
int main(){
volatile int flag = 1;
int sum = 0;
for (int i = 0; i < 1000; i++) {
sum += flag;
}
return 0;
}

汇编代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
	.file	"codeB.cpp"
.text
.globl main
.type main, @function
main:
.LFB0:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
movl $1, -12(%rbp)
movl $0, -8(%rbp)
movl $0, -4(%rbp)
jmp .L2
.L3:
movl -12(%rbp), %eax
addl %eax, -8(%rbp)
addl $1, -4(%rbp)
.L2:
cmpl $999, -4(%rbp)
jle .L3
movl $0, %eax
popq %rbp
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE0:
.size main, .-main
.ident "GCC: (GNU) 15.2.1 20250813"
.section .note.GNU-stack,"",@progbits

为什么没有区别?

因为没有使用编译器优化,O0模式

使用O2

CodeA:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
	.file	"codeA.cpp"
.text
.section .text.startup,"ax",@progbits
.p2align 4
.globl main
.type main, @function
main:
.LFB0:
.cfi_startproc
xorl %eax, %eax
ret
.cfi_endproc
.LFE0:
.size main, .-main
.ident "GCC: (GNU) 15.2.1 20250813"
.section .note.GNU-stack,"",@progbits

CodeB:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
	.file	"codeB.cpp"
.text
.section .text.startup,"ax",@progbits
.p2align 4
.globl main
.type main, @function
main:
.LFB0:
.cfi_startproc
movl $1, -4(%rsp)
movl $1000, %eax
.p2align 4
.p2align 4
.p2align 3
.L2:
movl -4(%rsp), %edx
movl -4(%rsp), %edx
subl $2, %eax
jne .L2
xorl %eax, %eax
ret
.cfi_endproc
.LFE0:
.size main, .-main
.ident "GCC: (GNU) 15.2.1 20250813"
.section .note.GNU-stack,"",@progbits

4.从汇编看

从开启O2的汇编里看,CodeA由于没有使用”volatile”关键字,for循环直接被优化了

1
2
3
main:
xorl %eax, %eax
ret
为什么?
  • flag是编译期常量(值为 1)
  • sum未被使用(无return sum或输出)
  • 编译器判定循环无副作用 -> Dead Code Elimination
    而CodeB中
1
2
3
4
5
6
7
8
9
10
main:
movl $1, -4(%rsp) # flag = 1 存入栈
movl $1000, %eax # 计数器初始化
.L2:
movl -4(%rsp), %edx # <- 强制从内存读取 flag
movl -4(%rsp), %edx # <- 再次读取(可能因对齐或语义保留)
subl $2, %eax
jne .L2
xorl %eax, %eax
ret
  • 循环被保留,尽管flag值不变
  • 每次循环都执行movl -4(%rsp), %edx
  • 即使%edx未被使用,编译器也不敢删除
  • 因为volatile表示“每次访问都有潜在副作用”
  • 循环步长为 2(subl $2, %eax)可能是编译器尝试合并两次加法(sum += flag + flag),但因”volatile”仍需两次独立读取

5.写在最后

  • “volatile”不是运行时特性,而是对编译器优化器的约束。
    -O0(无优化)下,普通变量与”volatile”行为相似(都访问内存),差异不明显
  • -O2等优化级别下,”volatile” 强制保留所有内存访问,确保程序行为符合预期