5 月 22 日

中雨。

其实这篇文章的地址昨天就有了,但是今天才开始写。

有一些关于我本人的经历,应该会在 关于 一栏里面详细说说,这里就不提了。

下了快一个月的雨,买菜都出不去。

昨晚被蚊子吵的睡不着,起来用灭蚊拍消灭了五六只。

上午嗯和牢哥去楼下扔垃圾。

5 月 31 日

晴。

上午去派出所办居住证。

下午陪牢哥去万象城二期逛了逛,买了点吃的。

晚上牢哥在嗑药,我打了场 ARC。

ARC221 游记

19:27 开坑。

好久没打 ARC(Div.1) 了。不知道这次能发挥如何。

好像还要锻炼的说,那我先润去锻炼了。

19:38 4 分钟 Tabata 对我一个瘦骨嶙峋的竹竿(还好藕丝铝滴)而言还是太超模了。

19:53 洗完澡了哦。有点小激动。

20:00 开 A。怎么半天没人过题。

是不是对减一下可以消掉 CC,然后只剩下 i[1,n]gcd(Ai+B,D)\sum_{i\in[1,n]}\gcd(Ai+B,D)。啊我真是太聪明了。

唉等下 DD 还能不是正数的,负数简单转成正数就行,那 00 呢,那是不是意味着原本 gcd\gcd 就是 k(pi+q)k(pi+q) 的说。哦哦这也太牛了。

那问题是 i[1,n]gcd(Ai+B,D)\sum_{i\in[1,n]}\gcd(Ai+B,D) 怎么做啊。枚举 gcd\gcd 啥子都能想到对不对,能处理出每个 gcd\gcd 的贡献然后稍微容斥一下,暴力好像就可以了。单个贡献求出最小的 ii 满足 Ai+B0 (modD)Ai+B\equiv0\ (\mod D) 就行了。唉这是不是可以转换成同余方程来着,Ai+Dy=B-Ai+Dy=B。哈哈哈老娘真是太聪明了。

这时候是 20:30,对,你没看错,前面这么明显的思路这个入想了半小时。

然后后面有一个半小时写 + 调同余方程,犯的错误包括但不限于:

  • 特判 bgcd(A,d)b\mid\gcd(A,d) 判错了。
  • exgcd 的结果记成 11 了。
  • 取出 vector 的元素后竟然对着取出的元素进行修改以为是对 vector 里面的内容进行修改。

然后磨到了 22:06,3 发罚时。赢麻了!

写 B,以为 B 很简单忘记去重,快写完的时候 22:28 发现假了,摆。关掉电脑睡觉。

Perf 1823 的说,掉了 29 分。哭了呜呜呜。

6 月 20 日

好久没更了。

最近为了成为一名算法工程师,在努力学 Python。加油!

天气不错。我在家睡懒觉。老妈和牢哥去买饺子皮和馅包饺子。嗯嗯很好吃。虽然我一个没包。

今天拥有了人生第一台手机,但是还没有电话卡,说回了霞浦会给我配。不知道是不是又是画饼。