万物皆虚 万事皆允

0%

你想活出怎样的人生?《吹响吧!上低音号》人物志与我的竞赛半生

4 月 7 日,《吹响把,上低音号 3》即将播出,希望大家可以看看,很好的群像剧。至少,希望读者可以看看我的这篇人物志,多少可以一窥这部优秀作品与笔者的人生。


前言

《吹响把,上低音号》(以下简称《悠风号》)无疑是一部非常出色的群像剧。当我去看这部番的时候,我从没想到,这部番能引起我如此巨大的共鸣,以至于我现在想要写一些什么来表达我对这部作品的思考。

我喜欢的作品很多,但真正愿意投入精力的很少。我向来不会因为某些但单一的元素而热爱一部作品。只有当一部作品真正写出了我人生当中很多经历的时候,我才会发自内心地热爱一部作品,就像《Canon in D Major》一样。在我看来,《悠风号》正是一部这样真实得令人“痛苦”的作品。

所以,在第三季开播的前夕,我用这样一篇人物志来探讨这部作品反映的一些不同人生,以及与我竞赛半生的相似之处。

背景

为了让更多的读者可以更好地看懂这篇文章,有必要描述一下故事的背景。

故事背景设定在北宇治高中的吹奏部。主人公(剧情触发机)黄前久美子是吹奏部的上低音号手。

剧情主要是从久美子的视角讲述社团为了冲击全国金不断努力以及部员们之间的故事。

可能读者会觉得,这是一部老套的以社团为主题的作品罢了。可是,我想说,就是这样看似平凡的作品,却无比真实。使我不禁想到了我高中的竞赛经历。

下面,我将会联系作品和我的经历来分析剧中人物和现实当中这类人物。如果读者没有看过作品也没有关系,只要多想想生活当中是否有这样的人物,一定也会有所感悟和理解。

人物

斋藤葵

斋藤葵(斎藤 葵(さいとう あおい),声:日笠阳子)

三年级生,使用乐器是次中音萨克斯管。与久美子是总角之交,两人独处时久美子会称呼其“小葵”。为了考试而上补习班,最后选择退出了管乐团。

中考失利没有考到理想的学校才来了北宇治高中,不想升学考试再次失利,因此上了补习班,当吹奏乐部要加练时常常早退。因发觉时间有限无法兼顾课业和社团活动而选择退社,直接导致部长晴香情绪崩溃:退部什么的,我不明白啊!虽然本人退社了,但没有放弃音乐,转行做了歌星还学会了些打击乐。

最初投票决定社团是否以参加全国大赛为目标的时候,投了唯一的反对票。

从北宇治毕业后,考入了理想的私立大学。在那里与晴香再次相遇,之后一起加入了吹奏部。

斋藤葵无疑是存在感比较低的一个角色,但确实我们生活中很常见的一类人。葵无疑是热爱管乐的,但是升学的压力迫使她放弃了自己的所爱,但好在最后能够考入理想大学,不失为一个相对圆满的结局。在我多年的竞赛生涯中,这样的人可能是见的最多的,他们其中不乏有热爱竞赛的,在种种因素的影响下,他们选择了一时的放弃,抑或永远离开竞赛。

很多时候,我们说他们并非真正热爱,但是,我想说,人和人的经历、家庭背景等条件是不一样的,我们没有真正经历他人所经历的,也不能肆意评价他人的选择。我选择了竞赛,固然有我热爱的因素,但不可否认也有学校,老师,家庭的因素,倘若我没有进入外国语,没有接触到竞赛,又何谈选择呢?所以,我一向是感谢过去支持我的所有人的,没有他们,毫无疑问,我的人生不会这样精彩。

葵是大部分普通人的写照。他们有着自己所爱,却又因现实割爱,个中痛苦,只有他们自己知道。急流勇退,弯道超车何尝不是一种明智选择?

田中明日香

田中明日香(田中 あすか(たなか あすか),声:寿美菜子)

三年级生,使用的乐器是粗管上低音号。副乐团长,负责带领乐团低音分部的职务。统率能力十分高,但并不想成为乐团长或副乐团长。曾说连当上副乐团长都是被百般请求才愿意担任副乐团长一职。一直在乐团的冲突中保持中立,从不讲自己的想法。红框眼镜为其标志。

父母在2岁时离异,小时候时收到了父亲寄来的自用上低音号和笔记,因此学习了吹上低音号,但也被其母亲所厌恶,以答应保持成绩不退步来维持吹上低音号的承诺。当得知全国大会的评委有其父亲,为了见上父亲一脸而努力带领管乐团冲击全国大会,但也因此激怒了母亲而被迫暂时退出社团活动,最终在模拟考中保持水平而与母亲谈判得以继续。

“她表现得太完美了,完全分不清哪些是她的伪装,哪些是她的真实想法。”——秀一

“明日香学姐的伪装太过严实,要剥下她伪装的面具,我实在无能为力。”——久美子

田中明日香可以说是理想的葵,不仅在吹奏乐上实力强大,在学习上更是恐怖(全国前 30 的水平)。但是明日香可以说是全局中背负最多的,受伤最多,却又最不肯展现真实自己的角色。为了能见到自己父亲,即使被母亲反对也同时坚持了吹奏乐和学业,并且将社团打理得井然有序。这里说一个维基中没有提及的情节:母亲为了明日香的学业强迫明日香退社,在明日香表达反对后,当着老师和校长的面抽了明日香一个耳光,但随即意识到自己又情绪失控而自责。但是,明日香的反应异常冷静,反而原谅母亲并向老师请假,并带着母亲目不斜视地从目睹一切的久美子面前走过,并在久美子提起时一带而过。这段情节在动漫中表现得淋漓尽致,甚至观众都没反应到明日香会挨这一耳光,更惊叹与明日香的超过成人的成熟和冷静。

但是,对应到生活中,这种人反而是最少的。既要有实力,又要有强大的内心。我至今还从未在现实中遇到。在我看来,成为像明日香一样的强者意味着要承受普通人难以承受的压力和痛苦,是否要成为这样的人,见仁见智。但是,能否成为这样的人,恐怕不是靠想与不想决定的。

小笠原晴香

小笠原晴香(小笠原 晴香(おがさわら はるか),声:早见沙织)

三年级生,使用的乐器是上低音萨克斯管。乐团长,并为萨克斯管分部的部长。性格温柔亲切,作为乐团长包容整个乐团。由于性格柔弱,所以曾推选明日香担当部长但没被接受,对自己作为团长自信心不足。

当作为部长站在大家面前时会努力的挺起胸膛大声说话,可一旦丧失自信就会缩成一团。

因为经常落泪在部员内也有“雨女”的爱称。

優しいなんて褒めるところがない人に言うことセリフでしょ(温柔什么的,就是给没有值得称赞优点的人的台词不是吗?)——小笠原晴香

明日香、私ソロ吹くことになったから、しっかり支えてね(明日香,我要进行独奏,要认真的支持我哦。)——小笠原晴香

晴香作为社长却因为性格原因长期大权旁落于明日香手中,以至于一度陷入自我怀疑而说出惊世名言:“温柔什么的,就是给没有值得称赞优点的人的台词不是吗?”但是当明日香因为种种因素无法主持吹奏部时,第一个站出来了却是晴香,并在公演中完美地完成了《宝岛》的低音萨克斯 solo。

这种人在生活中也不少见,他们平日里可能平平无奇,但是总能在关键时候站出来稳定局面。这不是因为他们天性如此,而是平日里他们在我们看不见的地方默默努力付出。可能一时没有获得人们的注意,但只有在最需要的时候,才能感受到他们的可贵。成为晴香这样的人无疑是一个不错的选择。

中世古香织

中世古香织(中世古 香織(なかせこ かおり),声:茅原实里)

三年级生,使用的乐器是小号。乐团小号分部的领队。被晴香喻为管乐团的玛丹娜,受很多人仰慕。一直希望能在音乐会上独奏,却因各种因素屡次没有被选中。当众与丽奈比试之后,被泷老师问是否想担任独奏,但最后决定让给实力较强的丽奈。

性格稳重,很有大小姐的风范,不喜争锋。对社团活动也十分热心,憧憬着明日香的天赋才华,自己也每日刻苦的练习技艺。 在泷昇顾问没有来到吹奏乐部时,吹奏乐部几乎名存实亡,部员们每天的活动都是摸鱼聊天,而香织是少属不愿随波逐流,独自练习的成员。

在二年级时看到毫无上进心的三年级部员对希美优子等部员施行冷暴力时,主动向前辈低头,请求他们不要再无视一年级的新生们。为了缓和部内沉闷的气氛,愿意主动让出首席的位置,把机会给那些没有实力的前辈。

香织是作为部长小笠原晴香的左臂右膀,能够调和田中明日香与部长的关系。可以说,香织真的是北宇治最温柔(完全褒义,不是上文含义)的前辈。她的所有举动都是为了最大化社团的利益。在社团风气差时不随波逐流坚持练习,并积极为后辈争取权益,在社团风气蒸蒸日上时没有选择用前辈的地位和实力拿下 solo 名额,而是敢于承认自己实力不如后辈。

香织这一形象虽然看起来没有难度,可在现实中,又有多少人能够做到?

在付出与索取面前,大把的人选择索取;

在努力与安逸面前,大把的人选择安逸;

在集体与个人面前,大把的人选择个人;

在实力与资历面前,大把的人选择资历。

而香织不一样,她选择了集体,选择了努力,选择了付出,最后甚至让出了自己努力的成果。只为了能让社团保证公平,让自己内心安心。

我个人非常认可并且努力追寻做这样追求公平正义,不用权利谋取私利的人。

吉川优子

吉川优子(吉川 優子(よしかわ ゆうこ),声:山冈百合)

二年级生,来自管乐强校市立南中,使用的乐器是小号。非常仰慕学姐香织。对丽奈纯熟的小号吹奏能力十分嫉妒,时常以上辈的身份打压。曾经怀疑丽奈借与泷老师相熟而获得竞演比赛的独奏机会,而迫使泷老师进行第二次小号独奏选拔。为了让香织学姐获得独奏机会,而偷偷在第二次独奏选拔前拜托丽奈把这个机会让给香织,但被丽奈拒绝。

将霙视为朋友,也知道霙有心灵创伤,并希望作为希美的替代。

在三年级毕业退出后被指定担任新团长。

优子给大部人的第一影响是无脑追求前辈的后辈形象,在动漫刚开始的时候风评较差。可随着剧情的发展,我们能够更加客观地看到一个立体的优子。有人说这部番中没有反派,我深以为然。从优子角度来看,多次帮助自己的前辈被后辈抢去 solo 资格难免打抱不平。她当然知道反对实力至上无疑是没有出路的,即便如此,她还是选择了为前辈说话,哪怕与大半社团为敌。可谓人人骂优子,可人人又都想有一个这样永远支持你的朋友。

在当选部长后,优子更是用自己的能力解决了部里的众多问题。这样一个有实力,有义气的人怎能不让我们喜欢呢?

铠冢霙

强烈建议和后文伞木希美结合来看。

铠冢霙(鎧塚 みぞれ(よろいづか みぞれ),声:种崎敦美)

二年级生,来自管乐强校市立南中。故事的第一年曾是北宇治高中管乐团中唯一使用双簧管的人。

初中时,因为性格阴沉而没有朋友,后来被希美邀请加入管乐团。视希美为很重要的朋友,但也意识到自己只是希美众多朋友其中一员。初中三年级的时候,希美向霙说“入读高中之后,一定要取得金奖”。但后来希美却退出了管乐团,而自己竟然是透过希美其他朋友得知。霙感到自己对希美的友谊竟如此薄弱。以致开始无法面对希美,深怕看到自己以为的真相。对希美的恐惧已经到“光看就想呕吐”的地步。只好将乐器视为与希美唯一的联系,继续留在管乐团。

以为优子接近自己是因为看自己可怜,所以不视其为朋友。后经过与优子和希美的对话解开心结。

在剧场版中揭露,其双簧管实力已强至会无意识的顾虑配合希美的长笛,但此举导致合奏出现断层。

强烈建议看一下 wiki

很喜欢的一个角色,因为是“三无”。

铠冢霙和伞木希美的故事在剧场版《利兹与青鸟》中有详细描写,高分文艺片。

铠冢霙作为内向的人,在伞木希美邀请进入吹奏部前几乎没有朋友,也因此伞木希美作为最重要的人,起初一切的演奏都是在为伞木希美而奏,但在初中失利后开始厌恶比赛。在经历很多事情后最终发自内心爱上双簧管和音乐。天赋异禀,唯二进入音大的人。

铠冢霙类的人物在竞赛中也不少见。不少人进入竞赛不是发自内心的喜爱,甚至只是为了功利的目的,但是他们天赋异禀,依然取得不错成绩。但是最终,他们发自内心爱上了算法,不再为了功利而练习,而是为了自身的爱好而努力。成为这种人真的是我内心的向往啊,只可惜大部分人难以摆脱功利,我也不例外。

伞木希美

伞木希美(傘木 希美(かさき のぞみ),声:东山奈央)

二年级生,来自管乐强校市立南中,使用的乐器是长笛。一年级时,满腔热诚地与同样来自管乐强校市立南中的朋友一起,想改革弱小的北宇治高中管乐团,但最终因为忍受不了当时的顾问采取不问实力只按辈份来选拔参赛成员的方针,以及高年级生不认真练习的态度而退出了。

将明日香视为特别的存在,一直不断希望借由明日香的准许回到管乐团。在泷老师成为顾问并改革之后希望返回管乐团,帮上明日香的忙。

与霙是国中好友。但由于自身拥有许多朋友加上未将退团一事告知霙。以致霙以为自己从不受到重视,导致她十分严重的心结,希美却一直没有察觉。而这也是明日香不希望希美回乐团的主要原因。最终和霙解释清楚后解开了霙的心结,也最终得到允许回到乐团。

“才能”远低于霙。两人之间复杂的情感导致第二次全国大赛自选曲中,两人乐声应答出现违和。

上面的 wiki 不太行啊。大家看看就好。

她们既是对方的莉兹,也是对方的青鸟。曾经伞木希美是铠冢霙的青鸟,带她走进了音乐的世界不再孤独;但现在铠冢霙是自己的青鸟,最好的爱应该是放手,她有属于自己的更大的天空。

萌娘 win 了。

伞木希美啊。痛,太痛了。

把霙带入管乐,却发现霙的实力远在自己之上。最终认清现实,选择考入普通的大学。

op 当中一句迫伞台词:“如果努力的尽头就是奇迹”

很现实的一个问题:努力的尽头是奇迹吗?

很大概率不是的。希美就是这样一个人,努力不比任何人少,成功却不比任何人多。

这样的人,生活中也不少。如何面对失败,不同人的选择却不一样。如果缺少天赋,换条赛道不是一种明智的选择。

高坂丽奈

高坂丽奈(高坂 麗奈(こうさか れいな),声:安济知佳)
一年级生,使用的乐器是小号。与久美子就读同一间初中,父亲为知名小号演奏家。从小于父亲要求下开始吹奏小号,上高中决定在管乐团继续吹奏下去。其演奏实力在高中生中出类拔萃,自己也对音乐相关事务要求严格,但不善于人际关系。暗恋泷老师,也因此无法忍受别人说他的坏话,但同时亦对久美子有超越一般同性朋友的情感。曾说过“为了成为与众不同的人,所以我吹小号”。在小说第三本中从泷老师口中得知泷老师前妻一事。

私、特別になりたいの、他の奴らと、同じになりたくない。だから私はトランペットをやってる、特別になりために。(我想成为特别的人,不想和其他人一样。为此我选择了小号,不愿随波逐流。)——高坂丽奈

丽奈是一个比较好分析的人物,因为她单纯,单纯到只想成为特别的人,可这“想成为特别的人”十分其实并不特别。她吹奏小号是否是真的因为热爱,抑或只是想要变得特别。不同人有不同看法。

在现实中,我比较害怕用丽奈头像的人。因为潜意识里认为这些人会为了目标不择手段。我喜欢这样纯粹,追求“特别”的人,可我又害怕他们的歇斯底里。相比之下,铠冢霙无疑是更加专注于音乐。

以下引用京吹学报

丽奈毫无疑问是强大的,压倒性的强大,相对于她来说大部分的吹奏部员都是弱小的。整个久三年,她不断在用话语和行动诠释,她一点也不在乎实力不如她的人是怎么想的,所有弱者的痛苦、不甘、难过在她看来都是无病呻吟。

在首席会议上,有声部长提出有落选了的人在闹情绪,丽奈回以怒斥 “随他们去”;在三人的干部会议上,秀一说丽奈管的太严了,丽奈回以 “实力不如我的人不配对顾问不满”;在石造的堤防上,久美子说这次我没办法完全信任老师,丽奈回以 “那你不配当部长”。

但是,即便如此,我依然赞赏每一个为了梦想不顾一切的人。但是,想必他们根本不会在乎他人的看法,深处自己的世界,怡然自乐。

黄前久美子

黄前久美子(黄前 久美子(おうまえ くみこ),声:黑泽朋世)

一年级生,使用的乐器是粗管上低音号。因为憧憬水手服而进入北宇治高中就读。初中时是管乐团的成员,进入高中后同样加入管乐团。较为没有主见,有着想说什么就说什么的习惯,被丽奈说“久美子的性格真是糟糕呢”。以前曾在东京居住过,会使用该地区罕见的标准语。

“うまくなりたい、うまくなりたい!(想要变得更好)”

我想要吹的更好

久美子作为主角似乎没有什么特别突出的特点,几乎每一方面都有比她更好的。可是他是我最为感同身受的一个角色。

恐怕她也是很多人最感同身受的角色。

我们可能也像久美子一样,有一些特长,有一些朋友,有过高光,又有过黯淡;久美子也和我们一样,为了学业倍感压力,为了金奖努力练习,一样有过挫折,一样想要变好。她就是我们普通人的真实写照,从初入社团的青涩到当部长时的干练。千言万语敌不过一句“想要变得更好”。

虽然直到毕业也有这样那样的缺点,但是她只是一个高中生,我们也不过是一个个普通的人。但是只要心怀“想要变得更好”就不会止步。

曾几何时,我也想要成为像霙一样天赋异禀的人,可渐渐,我意识到与其希望自己天赋异禀,不如怀着想要变好的心投入到努力当中。

总结

时间有限,只写了几个主要的角色,很多新角色包括第三季即将登场的黑江真由都没有写,以后大概可能会更新。

《悠风号》作为群像剧,人物众多,性格各异。即便如此,我们也不必认为某个人物和自己很像而去模仿,每个人都是独特的存在,学习他们身上的优点并在生活中不断提升自我难道不是更好吗?你想活出怎样的人生完全取决于你自己!

愿我们都能活成我们心目中的样子!

2023 年终总结

2024 年了捏,写一个 2023 年的年终总结也是有必要的。本来打算是百度之星国赛完了写,结果紧接着的考试周没有时间。考完试想着成绩出了再一起写,前一天成绩全部出了,我们的年终总结也就可以动笔了。

关于上半年的一些事情在暑假回忆录中就已经很详细地写过了,所以这份年终总结主要写一些 10 月之后的事情。

十月

十月貌似没什么特别的事情,基本都是在学校上课什么的。这里不妨说说日常吧。平时基本除开高数的课会提前一个小时到教室外,别的课程都是按部就班去上课。周三和周六有 ACM 的集训,基本是一套区域赛题目,一般可以做 4 到 5 道题。平时没事就去图书馆或者打打音游。真是朴实无华的日常呐。

给大家看看十月的黑胶。

十一月

十一月比较有意思的事情就是 ICPC 南京赛区了。虽然结果有点难绷。

南京站前我们队伍对于拿牌子还是很有信心的,平时模拟赛做的还行,甚至在省赛拿到了二等奖。怀着这样的心情,我们登上了去往南京的飞机。


不是这架,将就着看

第一天晚上和 lhm 去瞎逛,结果马路上看到这个东西。

于是晚上吃了这个。

然后去看了看南京长江大桥,夜景还是很不错的。

第二天是签到和热身赛。

这里放几张照片,只能说南航还是有实力的。

第三天是正式赛,但是结果三个人不知道怎么回事没一个人在线,直接打铁。😥😥😥

十二月

十二月还不错。

首先是 ACM 选修课的校赛,运气不错 10 题拿下第二。

然后是月底的百度之星国赛。

第一天随便去玩了玩。

地坛十分冷清,但是南边的河里有不少人滑冰。

第二天正式赛,每个题都觉得不难,但是过题过得非常慢,最后拿了个铜首。绷。主办方甚至精心准备了铁奖。

第三天就是开玩。

去看了元旦的升旗,放和平鸽还是比较震撼的。

晚上去三里屯玩了玩,各方面都给了我很大的震撼。

最后一天就回学校了。CR400 确实快。

一月

各种考试。除开英语都比较游刃有余,英语属实玄学,甚至难以估分。

考完试玩了玩雀魂,太费脑子了。

然后就回太原了。

然后去高中看了看老师,出来玩了玩。

关于三个人吃饭,还没吃却绷不住这件事。

服务员:给大家介绍一下……

我们仨:微笑 -》 绷 -》 互相看一下 -》 开怀大啸

饭后,rx:你这顿吃得开心吗? 我:那可太开心了,没吃就已经开心了。

你可能很奇怪,但事实就是这样。

前一天出了成绩,你怎么知道我 C 语言满绩了?

除了英语都能接受,均绩 4.1。希望能绷住。

总结

过去一年还是很充实的。希望下一年能更好。志存高远,脚踏实地。

一个积分后求导的小结论

引入

做高数题的时候会遇到一类题目:对一个变上限函数求导。例如

这是显然的。

但如果积分函数中加入了 $x$,例如:

问题就不在那样显然了。

我初次遇到这题把它拆成导数定义来做,结果算错了。于是我在想有没有一种结论可以省去讨论,于是又了今天的这篇文章。

推导

考虑一个一般的情况。求以下函数:

我们令 $F(x) = \int f(x) \mathrm{d}x$。

根据导数的定义,有

根据微积分基本定理有

板刷 Atcoder Educational DP Contest 总结

前言

最近为了水 ACM 选修课积分, 于是写了一下 OJ 中的 DP 提高题, 发现是 AtCoder 上的题目. 做下来收获颇丰, 所以写篇总结.

总结会写一些我在写的时候花时间比较多或者看了题解或者有收获的题, 代码选择性地放.

正文

J Sushi

题目链接

难在优化状态, 发现答案与盘子的顺序无关, 设计状态 $f_{i, j, k}$ 表示有 $i$ 个盘子有 $1$ 个寿司, 有 $j$ 个盘子有 $2$ 个寿司, 有 $k$ 个盘子有 $3$ 个寿司全部吃光的期望次数.

状态转移方程推出来是

一个易错点是循环顺序是 $k$, $j$, $i$. 读者可以思考一下原因.

R Walk

题目链接

设计状态 $f_{i, u, v}$ 表示长度为 $i$ 的从 $u$ 到 $v$ 的路径个数.

转移方程

这东西很像矩阵乘法, 可以用矩阵快速幂优化.

U Grouping

题目链接

枚举子集的方法

1
2
3
for(int i = now; i; i = (i - 1) & now){
f[now] = max(f[now], f[now ^ i] + solve(i));
}

V Subtree

题目链接

换根 DP. 但是模数不一定为质数, 所以记录前缀积和后缀积解决.

W Intervals

题目链接

好题.

按区间右端点排序, 只有考虑到 i 时, 计算所有右端点为 i 的区间对答案的贡献, 可以做到不重不漏. 而且可以发现, 这样计算只需要考虑最右边选的点的位置.

令 $f_{i,j}$ 表示考虑到 i, 最后一个点在 j 的最大值.

写出状态转移方程发现可以把 $f$ 放在线段树上. 很好的一道题.

Y Grid 2

题目链接

带障碍的走方格. 一开始想离散化做, 发现代码困难遂看题解.

设计状态 $f_{i}$ 表示从开始到障碍 $i$ 的位置且不通过障碍的方案数.

Z Frog 3

题目链接

斜率优化 DP 模板题.

NEUOJ 2383 流行的字符串 题解

题目

分析

一眼感觉可以用线段树维护, 难点在于需要存储哪些数据.

受 KMP 算法的启发, 若某个节点覆盖区间的后缀相同, 则可以存储这个后缀在字符串 $S$ 当中的位置. 此外还要维护当前区间的答案数.

再考虑如何添加字符串. 可以把叫加入的字符串作为线段树修改的参数(实际代码中使用的是队列, 应为数字更好维护). 若当前区间被覆盖, 就暴力逐个加入字符, 然后修改后缀在 $S$ 的位置. 转移可以用 KMP 的方法, 具体来说是预处理出失陪数组, 再预处理出 $to[i][j]$ 表示在第 $i$ 个字符后加入 $j$ 的转移, 具体可以参考代码.

再考虑如何下传标记. 若未传递字符串长度大于等于 $|S|$, 则直接修改即可. 否则暴力加字符, 若子节点区间的后缀相同, 可以即时修改后缀在 $S$ 的位置.

再考虑如何询问. 基本是正常的线段树操作, 一点不同在于若当前区间答案未知需要分别询问两个子节点, 复杂度可能会受影响, 但是调用层数不会很高(大概). 但是这题时限很宽, 所以还是可以过的.

代码

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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
#include<iostream>
#include<cstdio>
#include<cmath>
#include<string>
#include<cstring>
#include<algorithm>
#include<stack>
#include<vector>
#include<queue>
#include<map>
#include<bitset>
#define rep(i,a,b) for(int i=a;i<=(b);++i)
#define frep(i,a,b) for(int i=a;i<(b);++i)
#define drep(i,a,b) for(int i=a;i>=(b);--i)
#define mid ((l + r) >> 1)
#define ls (p << 1)
#define rs (p << 1 | 1)
typedef long long ll;
typedef unsigned long long ull;
#define Maxq priority_queue<int,vector<int>,greater<int> >
using namespace std;
int mylog(int a) {
int ans=0;
if(a&0xffff0000) {
ans+=16;
a>>=16;
}
if(a&0x0000ff00) {
ans+=8;
a>>=8;
}
if(a&0x000000f0) {
ans+=4;
a>>=4;
}
if(a&0x0000000c) {
ans+=2;
a>>=2;
}
if(a&0x00000002) {
ans+=1;
a>>=1;
}
return ans;
}
inline int read() {
register int a=0,b=0;
register char c;
c=getchar();
while(c<'0'||c>'9') {
if(c=='-')b=1;
c=getchar();
}
while(c>='0'&&c<='9') {
a*=10;
a+=c-'0';
c=getchar();
}
return b?-a:a;
}
const int MAXN = 1e5 + 10;
int to[30][30], fail[MAXN];
char str[30];
int len;
struct node{
queue<int> q;
int now, cnt;
}tree[MAXN << 2];
void build(int p, int l, int r){
tree[p].cnt = 0;
tree[p].now = -1;
if(l == r) return;
build(ls, l, mid);
build(rs, mid + 1, r);
return;
}
void pushdown(int p, int l, int r){
if(tree[p].now != -1){
tree[ls].now = tree[rs].now = tree[p].now;
while(!tree[p].q.empty()){
if(tree[ls].q.size() >= len) tree[ls].q.pop();
if(tree[rs].q.size() >= len) tree[rs].q.pop();
int x = tree[p].q.front();
tree[p].q.pop();
tree[ls].q.push(x);
tree[rs].q.push(x);
}
}
else{
while(!tree[p].q.empty()){
if(tree[ls].q.size() >= len) tree[ls].q.pop();
if(tree[rs].q.size() >= len) tree[rs].q.pop();
int x = tree[p].q.front();
tree[p].q.pop();
tree[ls].q.push(x);
if(tree[ls].now != -1) tree[ls].now = to[tree[ls].now][x];
tree[rs].q.push(x);
if(tree[rs].now != -1) tree[rs].now = to[tree[rs].now][x];
}
if(tree[ls].q.size() >= len && tree[ls].now == -1){
tree[ls].now = 0;
rep(i, 1, len){
int x = tree[ls].q.front();
tree[ls].q.pop();
tree[ls].q.push(x);
tree[ls].now = to[tree[ls].now][x];
}
}
if(tree[rs].q.size() >= len && tree[rs].now == -1){
tree[rs].now = 0;
rep(i, 1, len){
int x = tree[rs].q.front();
tree[rs].q.pop();
tree[rs].q.push(x);
tree[rs].now = to[tree[rs].now][x];
}
}
}
if(tree[ls].now == len) tree[ls].cnt = (mid - l + 1);
else if(tree[ls].now != -1) tree[ls].cnt = 0;
else tree[ls].cnt = -1;
if(tree[rs].now == len) tree[rs].cnt = (r - mid);
else if(tree[rs].now != -1) tree[rs].cnt = 0;
else tree[rs].cnt = -1;
return;
}
void pushup(int p, int l, int r){
if(tree[ls].now == tree[rs].now) tree[p].now = tree[ls].now;
else tree[p].now = -1;
tree[p].cnt = (tree[ls].cnt < 0 || tree[rs].cnt < 0) ? -1 :tree[ls].cnt + tree[rs].cnt;
return;
}
void add(int p, int l, int r, int x, int y, queue<int> s){
if(x <= l && r <= y){
if(tree[p].now != -1){
while(!s.empty()){
if(tree[p].q.size() >= len) tree[p].q.pop();
int x = s.front();
s.pop();
tree[p].q.push(x);
tree[p].now = to[tree[p].now][x];
}
}
else{
while(!s.empty()){
if(tree[p].q.size() >= len) tree[p].q.pop();
int x = s.front();
s.pop();
tree[p].q.push(x);
}
if(tree[p].q.size() >= len){
tree[p].now = 0;
rep(i, 1, len){
int x = tree[p].q.front();
tree[p].q.pop();
tree[p].q.push(x);
tree[p].now = to[tree[p].now][x];
}
}
}
if(tree[p].now == len) tree[p].cnt = (r - l + 1);
else if(tree[p].now != -1) tree[p].cnt = 0;
else tree[p].cnt = -1;
return;
}
if(y < l || x > r) return;
pushdown(p, l, r);
add(ls, l, mid, x, y, s);
add(rs, mid + 1, r, x, y, s);
pushup(p, l, r);
return;
}
int query(int p, int l, int r, int x, int y){
if(x <= l && r <= y && tree[p].cnt >= 0) return tree[p].cnt;
if(y < l || x > r) return 0;
pushdown(p, l, r);
int res = query(ls, l, mid, x, y) + query(rs, mid + 1, r, x, y);
pushup(p, l, r);
return res;
}
int main(){
scanf("%s", str + 1);
len = strlen(str + 1);
fail[0] = -1;
rep(i, 1, len){
for(int j = fail[i - 1]; j != -1; j = fail[j]){
if(str[j + 1] == str[i]){
fail[i] = j + 1;
break;
}
}
}
rep(i, 1, len){
rep(c, 'a', 'z'){
if(c == str[i]){
to[i - 1][c - 'a'] = i;
}
else{
to[i - 1][c - 'a'] = to[fail[i - 1]][c - 'a'];
}
}
}
rep(c, 'a', 'z'){
to[len][c - 'a'] = to[fail[len]][c - 'a'];
}
int n = read(), q = read();
while(q--){
int op = read();
if(op == 1){
int x = read(), y = read();
char str[30];
queue<int> q;
scanf("%s", str);
int l = strlen(str);
frep(i, 0, l){
q.push(str[i] - 'a');
}
add(1, 1, n, x, y, q);
}
else{
int x = read(), y = read();
int ans = query(1, 1, n, x, y);
printf("%d\n", ans);
}
}
return 0;
}

总结

这题细节比较多, 写起来比较头大. 大家看个乐呵就好. 想提交可能也比较困难, NEUOJ 常年不开放注册. 可以和我的代码对拍.

《你的名字。》黑胶音乐推荐

前言

昨天鼠鼠收到了在叔叔那买的《你的名字。》原声带,所以借机写个歌推吧。

说到这盘黑胶,就不得不提《你的名字。》这部空前绝后的作品。顺便一提,《你的名字。》已经是 7 年前的作品了,时间就是流逝得这么快。

我第一次了解到这部作品是通过 OI。想必 OIer 都还记得,当年有人 P 了这么一个图片。

这幅图如今可能已经是时代的眼泪了。但是这幅图对于刚学 OI 的我还是有一点小小的震撼。图片右面“自主招生”如今看来是一个很久以前的词。谁能想到几年后由于自主招生政策的取消,OI 已经越来越成为一种兴趣而非升学的一种途径。很难评价这对于信息学人才的培养是有利的还是不利的。话说我在找这陈年老图的时候发现萌娘百科甚至有一个页面来介绍 OI 梗,感兴趣的读者可以前往链接

回到作品本身,君名可谓是一部最能体现新海诚创作哲学的作品,平凡的人物,平常的场景,细腻的画面,感人的情节,以及人与人的羁绊在这部作品当中展现得淋漓尽致。不少观众都是从这个作品开始了解新海诚,以至于了解动漫。

这部作品的配乐由 RADWIMPS 担当,这个乐队也担当了新海诚后续作品《天气之子》和《铃芽之旅》的配乐工作。这个在当时处于巅峰的乐队在这部作品的配乐方面给出了令人满意的答卷。可以说,贴合情节的配乐让《你的名字。》这个本就优秀的作品更上了一步台阶。其中《前前前世》MV 在 YouTube 的点击量已经突破 3 亿,我也是从这部 MV 接触到君名的 OST。所以我一直希望入手君名 OST 的黑胶,由于市面盗版充斥等原因,错过了日版的黑胶。但是很幸运的是这张专辑国内引进了,于是我入手了中国唱片(上海)公司发行的君名 OST,也就是我们今天要谈论的这张黑胶。

关于这张黑胶的音质,我由于设备原因没法给大家展示,大家可以到 b 站 up 主混交林上传的视频中领略,这个 up 通过内录的方式获取了黑胶原声,理论上是最接近黑胶原声的。附上链接

01 夢灯籠

《夢灯籠》作为片头,很好地将观众带入了作品营造的轻松梦幻的氛围。这首歌的歌词也非常具有感染力,表达了梦想、回忆和相遇的主题,以及主人公之间那种特殊的纽带。

08 前前前世 (movie ver.)

这个可以说是我比较喜欢的一首曲子,同时它也被当作君名的主题曲。这首歌在电影中出现在两主人公意识到交换身体并且说出

我在梦中和那个男生

我在梦中和那个女生

交换了身体

这句台词后响起,并且快速地展现了三叶和泷交换身体后的种种细节。

而歌词

君の前前前世から僕は 君を探しはじめたよ

从你的前前前世开始 我就一直寻觅着你的踪迹

そのぶきっちょな笑い方をめがけて やってきたんだよ

追寻着你那略显笨拙的笑容 终于找到了你

也暗示了故事的结局不会是个令人伤心的结局。

这里还是推荐大家可以看一下原版 MV,这里附上油管链接

24 スパークル (movie ver.)

《火花/スパークル》出现于电影泷和三叶相见又分离之后,泷想办法回忆三叶名字却发现怎么也想不起来时。作品在这里逐渐令人揪心。这里更是出现了名台词

重要的人

不能忘记的人

不想忘记的人

随后 BGM 响起,直接泪目。

27 なんでもないや (movie ver.)

片尾曲,却也是我最喜欢的一曲,也是我在 OSU 当中玩的做多的谱子之一。一开始打这张谱,会发现总是快,听多了就会明白这首曲子更多的是想描绘一种日常而非某种宏大的叙事,自然要求准确而非急切。

歌曲的标题本身就是“没什么”的意思,它的歌词提供了对日常的细微瞬间和人际关系的深入哲学考察。而往往最打动人心的不是宏大的场面,而是最珍贵的日常。

总结

第一次写歌推,写得不好。我更多地希望结合个人的经历来谈这个 OST,如果只是为了描述音乐,不如直接听。音乐的旋律本身固然重要,但更重要的还是其背后的故事。

在写歌推的过程中又看了几次君名,有了更深的理解,但过去一个人傻呵呵看君名的时光却一去不返。时间就是这样,一晃眼七年过去,懂得多了,疑惑更多,反而想回到过去一无所知但总觉得无所不知的日子,可谁又能说现在的自己不是一无所知呢?

还有很多想说,但是不太想说太多空洞的文字。还是留给大家遐想的空间,读到这里的读者不妨回忆一下自己七年前的生活吧,一定会发现自己的经历比音乐和电影还更要打动人心。不妨也分享一下自己的过往,不要未来只记得曾有人和事不能忘记,不想忘记。

2021 ICPC Asia Taiwan Online Programming Contest 题解

训练题, 场上做了 ABDFG. 目前补了 CJ. 比较可惜是 J 题是签到题, 放在最后没来得及看, 经验问题.

题目链接: https://codeforces.com/group/nzwf9tsg2d/contest/477278

A Olympic Ranking

分析

一眼顶针

代码

GitHub/a.cpp)

B Aliquot Sum

分析

求因数和, 可以对每个数枚举因子, 复杂度 $O(n\sqrt{n})$.

如果用筛法, 对于每个数筛它的倍数, 可以做到 $O(n\log{n})$. 证明需要用到调和级数的增长近似于 $\ln(n) + C$, 其中 $C$ 为 欧拉常数.

代码

GitHub/b.cpp)

C A Sorting Problem

分析

考场上往这个方向想, 但没深入, 就先做后面了. 还是生疏了.

具体做法是记录每个数的位置, 问题转化为每次操作交换相邻两数, 使得数组单调递增. 经典求逆序对数量. 使用归并排序或者树状数组即可.

代码

GitHub/c.cpp)

D Drunk Passenger

分析

这道题花了不少时间, 还是太菜了.

考虑 DP. 假设当前已经坐了 $i$ 个人, 一个显然的结论是 $2$ 到 $i$ 的座位已经坐了人, 而 $i + 1$ 到 $n$ 的座位在当前状态是等价的, 还有第一个座位比较特殊. 所以定义 $f_i$ 表示坐了 $i$ 个人后本就不应坐人的座位 (也就是 $i + 1$ 到 $n$ 的座位) 坐人的概率, $g_i$ 表示坐了 $i - 1$ 个人后第一个座位坐人的概率. 有如下转移:

当然, 你也可以推式子. 用题解的话说就是

推出答案之數學式子 $\frac{n}{2n - 1}$ 直接算答案。

~台湾的题解挺有意思.~

代码

GitHub/d.cpp)

E Eatcoin

分析

python 题.

首先求自然数五次方和公式, 可以用拉格朗日手推, 也可以写前几项高斯消元.

然后二分法求最小的天数.

代码

没有, 谁愿意拿 python 写写吧, 二分模板题.

F Flip

分析

和动态区间和最值很像.

维护区间左右端点的值, 从左和从右开始满足条件最长长度, 区间内答案数就可以用线段树维护了.

代码

GitHub/f.cpp)

G Garden Park

分析

正解 DP. 找官方题解吧.

我拿点分治做的, 模板题.

统计经过当前树根的答案数, 点分治换树根即可.

核心在于求经过当前树根的答案数. 对每个儿子 dfs, 找出所有单调递减和单调递增的路径数, 然后分别用乘法原理算贡献. 复杂度 $O(n\log^2{n})$.

代码

GitHub/g.cpp)

H A Hard Problem

分析

显然要分开每一位考虑. 然后要求满足条件的代价最小的染色方法.

跟所有的网络流题目一样, 然后它就是最小割了.

虽然对于会网络流的这是模板题, 但上次写网络流是一年前, 所以等于不会.

代码

以后补.

补好了.

GitHub/h.cpp)

G ICPC Kingdom

以后补

J JavaScript

分析

签到题, 判断是不是全是数字.

代码

GitHub/j.cpp)

暑假回忆录

前言

这篇博客可以说是我“预谋”已久的一篇博客,最终在去东北大学的前一天夜里 new 出了这篇博客,并在开学第一天的夜里在宿舍中新装好的 itx 主机上写下了第一句话。我知道这篇博客的分量,它绝非是可以一日写完,所以我将会用一段时间陆陆续续地总结过去一年。与其说是暑假回忆录,其实更多的是讲从去年国赛到今年暑假结束这段时间我的经历和感受。这一年,对我来说,无疑是极其重要的一年,从 OI 到文化课,从高中到大学,从一个城市到另一个更大的城市……但这些对我而言,不过是生活上的改变,更多的还是心理上的成长。时间有限,今天就先到这里吧。

2023 年 8 月 26 日于沈阳东北大学宿舍。

NOI 后

嗯,几经波折,我们的回忆录终于可以正式开始了。我目前是在从太原到沈阳的列车上写下这段话。在普快上用笔记本电脑总感觉有点奇怪,所以就用手机的记事本代替,到沈阳再粘贴到博客中,不失为一种两全其美的方法。由于写作的环境特别,我想先描述一下这个卧铺的环境,可能算是一种新型游记吧。这算是我第一次做硬卧,卧铺给人的第一感觉是有点窄,但实际躺下还是有一种安稳的感觉。比国庆回太原坐了17小时硬座的感觉好多了(17小时硬座真不是一般人能忍受的,但是话说回来,如果有别的选择,谁会这样做呢?),但是火车启动后,感觉脑袋和列车好像共振了,这种感觉还是不太令人舒服的,但是只要不是很死地靠在枕头上还好。

以上的这些废话只是我的一时兴起,下面我们正式回到一年前。

我们从 NOI 结束的那个下午开始吧。DAY2 一结束,忽然被通知要求各个队伍立即返回,原来是疫情形势又严重了,被迫提早疏散。草草看过成绩,很差,不过无能为力了。在回程的路上,一路上很多次叹气。以前我以为叹气是一种做作的行为,可实际经历后才懂得,真正的叹气,是没有意识,往往自己都不自觉的行为,是一种深深的无力感。写到这里,我望着对面床铺的旅客陷入深思,过去的遗憾即使岁月冲刷还是历历在目。

但是,很幸运,我是个乐观的人,换句话说其实是没心没肺,随心所欲吧。NOI 的失利没有很严重地影响我,我还是很快投入了文化课的学习。毕竟,高考这下真的是我的唯一出路了,只是当时,紧迫感还不是那么强。

高三

然后紧接着就是保送考试了吧,由于本就不打算保送,感觉并无任何特别之处(~属于我的保送考试,早已遇见~)然后考了 20 名出头,可能是最差的一次了。总得保送考试排名是 13 ,无所谓,直接放弃保送。

然后便是各种疫情,网课,封闭的烂事。

先是国庆回家结果一个月网课,回来考试考到一半又去上网课。网课期间感觉也挺累,但是多少可以划水,我对 OBS 虚拟摄像头的理解进一步加深(然后差不多 12 月了,学校突然说要去摄乐校区封闭管理,封闭的日子很难受,不是知识上的,而是身体上的。我不知道摄乐校区的学生是怎么生存的,但我实在无法忍受每天晚上宿舍的寒冷。我的那个宿舍是坐南朝北,一天晒不到阳光,夜晚的寒冷程度几乎等于室外,第二天我的膝盖就很疼,一直持续到封闭结束。然后教室的气温也很低,我又座位靠窗,几乎整天处于严寒当中。封闭第一天,就有人发热回家,之后半周陆陆续续有人回家。我还是很想回家的,主要是条件实在艰苦,真正意义上的寒窗苦读。在我最后一天封闭的日子,班上就十几个同学,然后下午体育课踢了会球,在那样冷的天气出汗很容易感冒。结果晚上就感觉不太舒服,第二天凌晨实在熬不住便回家了。回家第一个晚上正是世界杯决赛,处于新冠侵蚀下的我还是全程看了下来。从梅西点球,到天使的进球,我以为决赛大局已定。天使的射门真的让人感叹这位大场面先生的冷静。结果临近结束,姆总一点一射将比赛悬念又起。然后就是加时赛,点球大战,全是令人揪心的场面。好在阿根廷最后夺冠。然而着并不能缓解我身体的痛苦,后半夜嗓子如含刀片一般疼痛。这段痛苦的回忆我只能说懂得都懂。

再往后就是过年,下学期了。下学期回到学校上课,一开学便考试。结果这次考试我在考化学的时候睡过头,忘记贴条形码,导致化学整个就没成绩,直接达成高中最差成绩。这次经历也给我很多警醒。如同 oi 中重定向一样,任何考试,避免低级失误才是一切的前提。

然后就是没完没了的复习,考试。基本成绩在前十名晃荡,然后便到了高考。

然后高中就结束了。

生活往往就是这样,很多事情的结束并没有什么轰轰烈烈,而是不知不觉就到了结束。

大学

高考后报志愿,由于成绩就放在那,又决定了去计算机专业,就来到了东北大学,这大概就我我这个分数的最优解了。

学校很好,舍友不错,学校很有学术氛围。百年校庆来了很多大佬。

至于我自己,当然是继续搞算法竞赛了。顺利考过 ACM 选修课,11月就可以去打 ICPC 了。此外还打了百度之星,甚至是五星级竞赛。没想到人生第一个金牌是百度之星(群友都在打 ACM 网络赛,鼠鼠只能打百度之星🥶

国庆回家,硬座太痛苦了。待了两天,卧铺回沈阳,然后正在写回忆录,已经是第二天了。风景很美,在车上码字有一种吟游诗人的感觉。还有半个小时到站,有点晚点,但不多,两分钟而已。写下这句话,对着屏幕陷入沉思,再次写下字,终是难以写下什么,就此打住吧。

2023.10.4 九点半,火车上

漫无止境的八月

下午了,顺利到达宿舍,继续我们的回忆录。

之所以要把八月单独拿出来,而不是按照时间顺序往下写,是因为八月可能是我过去一年中过得最充实,最丰富,最留恋的月份了。但这里不会只写八月,也会写一些高三的趣事或日常,这些趣事日常是支撑我度过高三的很大一部分原因。我会将这部分分成几个关键词来写,方便大家阅读。

黑胶

先说说我与黑胶的一些事情吧。我是从今年早些时候接触到了黑胶唱片,起因是在 B 站上看到有录《One Last Kiss》的白胶。很巧,我当时刚补完 EVA,所以很自然去了解了一下这张唱片和黑胶文化。在看到那巨大的方形的凌波丽封面的时候,我就下决心一定要在高考后去听这张黑胶。从此算迈入了黑胶圈子,虽然此时的我一张黑胶唱片都没有。后面我发现《巫师 3》要出一版彩胶,便也想入手。再后面看了鬼灭的第三季,OP《絆ノ奇跡》我同样十分喜欢,正好 B 站有人开箱这版黑胶,青绿色彩胶属实好看,便也列入的清单。以上是我八月前最想买的几张黑胶。

其实我个人不太喜欢《One Last Kiss》,如果它不是 EVA 的曲子,那我一定不会买。但是我很喜欢 EVA 出现(在《轻音少女》中也有,更喜欢了😍)的另一个曲子《翼をください》,这首曲子是在《Evangelion Finally》这个专辑中,而且这个专辑同样有大大的凌波丽封面,于是我决定有机会也要买这张黑胶。关于这个专辑,还有另一个趣事,这里按下不表。

高考后便想买下这些黑胶,但是黑胶不是便宜东西,又属于个人爱好,实在不能向家里要钱,便打了一个月工(打工的事情后面再写),挣了 2000 元钱。后面一算,如果全买下就身无分文了,便放弃了《巫师 3》的黑胶,但这下又剩下了 1000 元(唱机最终还是父母给买了)。这 1000 元可以说是我八月几乎全部的资金来源。

我觉得黑胶这种东西还是在线下的店铺买更有感觉,便在网上找太原是否有黑胶唱片店,结果还真有一家。高考完我便去到了那家店,小店不大,里面全是黑胶和 CD。

老板给我放了一段黑胶,狭小的空间中充满了浑厚的旋律和黑胶特有的炒豆声,在这种年代还有人开这样的店,真的很让人感觉不可思议。我想买《One Last Kiss》的胶,结果没有凌波丽封面的了(早有预料,首版黑胶早就没有了,但还是问了一句),于是先买了 CD 和蓝胶。后面我对 CD 的真假产生怀疑,便又退掉了。可以说和大多数人一样,《One Last Kiss》是我的第一张黑胶。现在人们常说黑胶复兴,我觉得是对的,向我这种和音乐几乎没有交集的人都有了买黑胶的想法,黑胶复兴可见一斑。但是我觉得这其中有一半都是《One Last Kiss》的功劳。

之后又在网上买了《絆ノ奇跡》和《Evangelion Finally》,拿到手真的很喜欢。《翼をください》一响,泪下来了。

大学在沈阳,沈阳这个城市属于老工业城市,以前富过,黑胶这种古早的高级东西这个城市保留了不少。很自然的,我在某个周末到了沈阳的一家唱片店。这家店更大,唱片也很多,时不时有中年人进来挑选。

顾客不多,我便自顾自挑选了起来,主要看古典和动漫原声,价格都不便宜,于是打算挑张二手“黑”胶(当时手上全是彩胶,笑死了)。遇到不认识的古典就查翻译,听原声。最后在卡拉扬的一张黑胶,维瓦尔第的《四季》中挑选。然而这是,我拿出了一张黑胶,黑胶封面的歌手叫作松田圣子,好好看,便搜了一下。

一查才知道这是日本上世纪的一位著名歌手,初入黑胶圈是这样的。听了一下黑胶的第一首歌《青い珊瑚礁》,好听。最后纠结了半天,想到要放在宿舍装饰用,于是就把圣子小姐的黑胶买了下来。放在宿舍太合适了。国庆小心翼翼带到家里放在唱机上,甜美的歌声和熟悉的炒豆声和谐地融合,感觉一路的辛苦都没白费。

目前在途黑胶:《玉子市场 OST》、《你的名字 OST》

黑胶这个爱好会继续下去的。😀

音游

众所周知,OIer 全是音游人(暴论)。这个角度看,我不是个合格的 OIer。之前在洛谷上网课的时候,见 lxl 打 OSU,当时便下来玩,结果菜的一批就放弃了。高三偶然重拾 OSU,发现虽然不会打 std,但是 mania 好像还行,便入坑了。有时候在机房中午打一会儿。打的最多的是《残酷天使的行动纲领》,当然还是因为 EVA 了。现在 pp 800 多,但还是算比较菜的,按大佬的说法,还没入门。

哨笛

说到哨笛,这个也是高三新发展的爱好,起初是因为《巫师 3》次世代,所以又玩了一遍,里面的配乐玩过都知道,顶尖。尤其是凯尔莫汉的曲子和史凯力格的曲子,每当重新听起,就让人回忆起同杰洛特一起做猎魔人的日子。偶然在 B 站看到《巫师 3》曲子的演奏,才知道是用爱尔兰哨笛吹奏的,便想自己试试。高考完用打工挣的钱买了一把入门的哨笛,《巫师 3》的曲子没学会,但是学会了《Auld Lang Syne》和《斯卡布罗集市》。这两首曲子简单但是和我都有一定关系。《Auld Lang Syne》是高中英语课第一堂课上的曲子,一首苏格兰风曲子,《斯卡布罗集市》也是苏格兰风曲子,它被用作《末日时在做什么?有没有空?可以来拯救吗?》的 OP。这部番对 OI 影响颇大,著名的珂朵莉树,还有 YnOI。所以学会这两首曲子,我还是很满意的。

去大学的前一天,在机房和教室分别吹了一曲《Auld Lang Syne》,这是高中的第一堂课,也是我在留给高中最后的旋律,友谊地久天长。

音乐

高三也听了不少音乐,品味也发生的一些转变。之前最喜欢的是《D 大调卡农》(这在前面省选的游记中有写),当然现在也是。现在呢,喜欢的歌更多了一些,偏向于一些动漫,影视,游戏的原声和古典。喜欢这两种有不同的原因。听原声是因为原声承载了当初看作品的感动,换句话说,是因为音乐背后的故事而听。当然,一般这类曲子本身也不错,比如前面提到的《One Last Kiss》。听古典就是单纯为了听优美的旋律而听,古典不像其他歌曲,它更多是通过旋律来表达感情,边听边想作者可能要表达的情感还是很有趣的。所以,想必大家也就理解为什么我喜欢《D 大调卡农》了。因为这首曲子同时蕴含了我的经历和生命起伏轮回的的思考。

高三中午的一大乐事便是听音乐,外放听,听各种喜欢的音乐。一段时间在了解法国大革命的历史,便放《马赛曲》,想象当时法国大革命的场景,想象《马赛曲》作者鲁日上尉创作时的场景(这个在《人类群星闪耀时》中茨威格给了生动的描绘),感受民主的光辉(虽然是昙花一现)。

打工

说到暑假,打工占据了我的几乎全部 7 月和 8 月的开头。当时是想买黑胶所以去打工。起初希望可以教竞赛来挣点钱,但后面发现行不通。走投无路只好去打工。结果这年头,你想当廉价劳动力都难。各种所谓招聘网站充斥着虚假信息,最后也没能做成。后面甚至想进厂,虽然钱不多,但是好歹按时发。但是父母又都不放心。最后在父母寻找下到了一个离家近的修电动车的地方打下手。一个月下来,给我的感受是这个工作虽然不体面,但是是凭本事挣钱,有技术就凭技术挣钱,没技术就靠体力挣钱。像我这种没技术的自然就是第二种。第一天下午,就在卸车轮时磕伤了手,现在还有一点疤。

再说说我的工作吧,主要时擦车,装车以及简单的修车。老板人很好,晚上有时和家人视屏电话,晚上有时要十二点才回。看得出来,是为了家人而工作的。工作的时候不止一次提及想给家人换个房子,说是这么多年总得有些进步吧。另一个师傅,姑且叫做 L 师傅也是负责装车修车的,他儿子在北科大,每次提到他儿子,他总是很骄傲。在工作时,大家也很照顾我,一开始在装电池时,L 师傅总是亲力亲为,说怕我弄坏,辛苦干半天还要倒贴钱。一个星期后,我基本也就上手了。虽然每天都很累,但是一想到唱片还是要咬牙干下来。

一次搬电池时,老板问我累不累,我说不累,倒不是说我迎合老板,在我看来,搬电池不用动脑子,其实不算累。老板问我原因,我也如是说,老板笑了。后面 L 师傅跟我说,搬电池可不是不累了,靠身体挣钱有什么难,想挣钱得用脑子。确实,像我这样没技术,没本事的人到了社会上纯粹是廉价劳动力,还是只靠身体的廉价劳动力。之前在找工作的时候,有个词我很不喜欢,“人力资源”,招聘网站上到处是某某人力资源公司的中介。如今的社会,人不过是一种资源,和矿石,石油一样,不过是可以买卖,可以消耗的资源罢了。倘若没有文化技术,就只能像矿石一样,进到某个锅炉里面“消耗”掉了。

一个月,我见到了普通人的幸福和辛苦(真的累),知道了挣钱的不易(真的难),体会到知识和技术的价值。打工的意义不止在于我力气大了,懂了点技术,挣了点钱,更多的是体会到了民生疾苦。可目前,我连独善其身都难,有怎能改变现实呢?

漫无止境的八月

我们终于可以正式的谈八月了。

八月的前几天,我还在打工。5 号左右吧,结了钱。第二天便 lyd 去到植物园玩了一圈,很有意思,最后几乎变成了看动物(小香猪),lyd 买了两个纪念币(埋下伏笔),下午见还有时间就一同去了唱片店,给他一点小小震撼。摸了摸《Evangelion Finally》,但是是粉胶,而我想要橙胶,所以没买。出来看见还有时间,就去钟楼街逛了一下。看了看各种文创产品。扬言要抽一番赏,结果也没抽。

后面几天在学校带了几天 OI 课,虽然我讲懂了,但大家好像没听懂。不过无所谓,我当初也没挺懂。

后面 lyd 要买手机,便和他一起到公园时代城去看手机,然后就抓娃娃去了,30 抽到了一盒果丹皮和发卡(不要问为什么要换一个发卡,问就是没得选),两人又一气之下去喝瑞信,结果走错楼,试图进入太原最高楼,后面发现在隔壁。后面,我想听交响乐音乐会,就从汾河自行车道骑车南下,到一半想上厕所,出了厕所想买饮料,结果发现唐久东方树叶打折,速速买爆,然后继续南下。突然想去趟美术馆,于是就去了,结果闭馆。然后就往北走,结果在一张长椅上,你猜怎么着,有一袋吃的,然后我们去翻(不要问为什么,问就是快饿死了),甚至有一袋没开的零食,这不得吃掉了,不好吃,于是喂了鸟了。喝得起瑞信,东方树叶,买不起饭。lyd:捡到饭,赢。但是是用 30 换的,输,但是有发卡,赢。后面两人去图书馆看书,我看了本日语的写周恩来的书,后面又换了本写收藏黑胶的书。出来又去万象城吃了个饭,鼠鼠第一次吃回转寿司,然后就回家了。

第二天想去太原市博物馆和科技馆,就去了。lyd 没抢到票,在我们一番操作下,两个人都有了票。先到博物馆,lyd买了两个纪念币(同上)。去科技馆,给小孩玩的,没意思,走了。去万象城,吃韩式拌饭,没饱。到学校附件想吃打卤面,没有。去旁边吃打卤面,饱了。然后一天最 6 的一件事来了,吃饭吃到一半,我看 lyd 身后有个白胡子老爷爷。仔细一看,好熟,这不宫崎骏?太像了,如图。只能说一个模子刻出来。然后回家了。

后面,我还想抽手办,于是到万达。结果到了去西西弗书店看书去了。里面有 EVA 原画集 158,比 B 站都贵,我 158 买的首刷限定礼盒。没有一番赏,又去钟楼街,还没有。于是想吃东西,旁边有个批发的超市。lyd 又爆金币。然后吃正宗新疆羊肉。茶真好喝,还不要钱,喝饱。然后去汾河边吹风。发现了路牌上写得“bule”,百思不得其解,问同学,应该是打错字了。吹风,听歌,散步,回家。回家后,lyd 微信:买的东西落吃羊肉那了。

后面,我想听交响乐音乐会,又没钱,于是听了个公众开放日的,也算了结了心愿。

最后的最后,我发了一篇朋友圈,内容如下:

好想经历一次漫无止境的八月啊!但考虑到 Yuki 的感受,还是算了吧。

话虽如此,可是哪里又有漫无止境的八月?过去的事情,无论美好还是痛苦,都已经永远地离现在而远去,我们能做的除了回忆,只能珍惜当下,谁知道,未来的我们会不会想要回到现在?通常,这个答案是必然的。我们经历的每分每秒都是未来我们想回却永远回不去的回忆。

所以,我只能写下这个回忆录。谨以此回忆录,纪念我的过去一年。

感谢 lyd,他陪我过了我最开心的两个月。同时感谢他对这篇回忆录的校对工作。

感谢 djl,没有他的催更,我可能永远不会写完这篇回忆录,祝他学业有成。

感谢过去一年陪伴我一同度过的父母,老师,同学,以及所有的素不相识却在我需要的时候给我以帮助和支持的所有人。

还要感谢各种动漫,游戏,电影,历史当中的各种人物,他们无形的陪伴,也是支撑我过去一年的无可或缺的一部分。

总感觉还有好多好多的东西需要感谢,可是又想不到了。那么,感谢这个世界,尽管它不完美,但我仍然要感谢它让我与这么多美好的人,美好的旋律,美好的事情相遇。

2023.10.4 沈阳,东北大学

NOI2022游记

8.13

行程:太原 $\ce{->[飞机]}$ 南京禄口 $\ce{->[地铁]}$ 南京南 $\ce{->[高铁]}$ 昆山

在飞机起飞时试图使用手机测加速度,但飞机的震动太大,数据价值很少。在后面坐高铁的时候这个问题得到改善。但飞机上的气压测出来是线性变化的,我估计是又机器专门负责调节气压,而且是简单的由当前值线性变化到设定值(假的吧)。后面发现飞机上的气压一度超过标准大气压,而当地气压又小于标准大气压,搞不懂。

南方的温度太高了,一度达到40度,而且无风。

晚上吃陕西面馆的biangbiang面。

8.14

早晨很早起来,天已经亮了,可能这里日出早吧。

Day0

早晨起的很早。

9:45到达华二(姑且容我这么一说罢),很顺利地办完入住。发现 hxz 已经到了,互加 qq。

之后附中的选手也来了。一起去楼下签名墙签名。

中午饭菜还行,除了面,有一种放在冰箱串味的感觉。

下午做核酸,差点睡过头,又忘拿身份证,搞半天才弄完。

晚上看来表演,很有意思,图片以后再补。

网上10:00要求睡觉,四个人 rush 完后并没有熄灯,纯纯的诈骗。

day1

早晨依旧起得很早。

上午划水 + 领取物资。流程很顺利,物资做的很有新意,徽章质量参差不齐啊。

经过一番~臭不要脸的~交换后,我拿到了 SX 省队成员(除女队)的所有徽章,然鹅我并不认识更多人了~~~

day2

早晨仍旧起的很早。

上午划水。中午吃饭。

下午昨晚核酸看看环境配置就去笔试了(中途想起忘带笔了,又返回去

笔试题目挺常规,除了一个烂题,dddd。

吃完饭前和 zjx 交换了徽章,STO E类队爷。

明天就是一试了呢,小蒟蒻也可以打 NOI 了么?

先咕了。文化课太忙了。