好活

· · 个人记录

转载1

与bug的战斗已经持续了一个世纪。

朱任弓童年在战火之中长大,每天不听到战火的声音,就无法入眠。

只有一种声音能代替战火,使他睡得像个孩子。

键盘敲打A+B problem最短题解的声音。

朱任弓现在是一名浴谷战斗军CE报错特种师红橙黄绿题战斗旅橙名团3营5连7排2班的班长。

他的连长,付南衣,有着“黄块毁灭者”之称,是他们团的骄傲。

很普通的一天,集合的时候,付南衣庄严地带着全连程序猿来到了食堂。

餐桌上,一盘盘佳肴令人垂涎三尺,可是谁也没有喜悦。

只要出现这么丰盛的菜肴,就代表接下来的任务,AFO率都在95%以上。

付南衣的眼睛湿润了,铿锵的下着命令:“你们应该知道我们要干什么,是的,我们要执行收复B1999~3000的任务,目标是配合其他部队,拿下所有CE。”

连队每一个程序猿默不作声,没有人抹眼泪,每个人,早已视AFO如归。

付南衣咬咬牙:“我AFO了没关系,我不想…不想让全连…AFO!”他顿了一下,“所有人听令!坐下,吃饭!”

餐桌上,每个程序猿尽情的享受美味,没有一个人说一句话,谁也不想打扰别人享用这一餐。

“同志们,这是程序猿光复浴谷B题库的第一战,我们终将胜利!”司令员喊道。

网站链接载着朱任弓和他的班向B2001前进着。

bug们迅速的做出了反应,一只RE突然从网站中钻出,散出漫天的“return 1;”。

“RE突击班!”

一个‘0’向那个RE射出,瞬间,RE变成了WA。

大部分战士都有打击WA的能力,它很快就被击败。

付南衣喊道:“不要放松警惕!”

话音未落,近百只、近千只bug冲了出来,各式各样的都有,WA,TLE,MLE,CE,RE,里面有几十只PC、UKE、ILE、OLE,朱任弓甚至看到了一个无限Judging和一个无限Waiting。

“2班的,注意打CE,将每一个字母都打到CE上面!”朱任弓喊道。

“喂,你还有几个字母啊?”1班班长部项启明向朱任弓说。

“五组。”朱任弓射出一个分号,把一只冲过来的CE变成了AC。

“哦,恭喜你,离AFO不远了。”

一个标准的CE从出现到使你AFO只需要10s,码力好的士兵可以花不到一组字母将其消灭,而做不到的基本全AFO了。

还有键盘卡住,这是战场上仅次于字母打完的AFO原因。

“没办法,在AFO的战友上面捡一点吧。”朱任弓说。

“同志们,感谢你们的付出,浴谷B题库已经全部收复!”司令员激动地说。

朱任弓靠在B3646的墙边,对着付南衣感慨:“打仗的时候,你还没反应过来,手底下就换了一茬程序猿。现在B题库终于解放了,但我却不想去任何B题库的地方,因为到了那里,就能想起自己的哪个好友在这题AFO了。”

付南衣点点头。

之后,朱任弓和付南衣晋升成了团长。

朱任弓带领他们6团继续战斗着,一点点收复P题库。

付南衣的团主要都是在UVA战斗。

无论在哪里与bug斗争,每次战斗都会有极多的程序猿AFO。

付南衣缓缓走向朱任弓的家门。

两人聊了一会当年的往事,又有人敲门。

门外是一名记者,她见到两人,有些欣喜,于是采访道:“二位元勋,请问当年是什么力量支持你们与bug斗争的?”

朱任弓思考了一会,说:“那时,AC是我的奢望,AK是我的幻想,Au是我的追求。”

他顿了顿,说道:“OI是我的信仰。”

付南衣拍了拍朱任弓的肩,说:“不,是我们。”

传令兵到了朱任弓的门口,说:“军长,现在有紧急任务。”

朱任弓二话没说,拿起他的键盘,那个残破他却一直没换的键盘,潇洒的走出屋门,只留下一道背影。

The End

注:本文章部分灵感来自于《未来》

转载2

一种基于 Complicated Concept of Feast 的加密方式

作者 Constantine 博士 Sun Ping 博士 Justin-Saber 博士。

2023 年 9 月 16 日。

摘要

关键词

研究背景及目的

在 2022 年进行的星战中,因为我军通讯系统遭敌人窃听并破译,导致敌人在决定是否反击时,在 45% 的情况中完美发现了我军的伏兵,从而简单做出不反击的命令。从而减小了敌方舰队的伤亡。

事后我们发现,敌人在监听我们的通讯时,使用了宇宙射线使我军密码直接被转化为明码,导致我军信息泄露。经查,是因为我们先前使用的 Method of Four Russians 算法执行被敌军破译。为了使军事通讯更有保障,我们发明了 Complicated Concept of Feast 这一加密模式。

研究内容

研究结论

在对于一条通讯信息进行加密前,我们先建出它的哈夫曼树,其次我们对它进行染色,由于没有要求染色时保证相邻两个节点颜色不同,我们一定能用两个以内的颜色染色。

随后我们对所有内容的哈夫曼编码进行分组,求出他们的因数和——显然注意到小于 n 的质数的幂的倒数和量级为 O(\ln \ln n),所以我们可以设计两种算法,用时间复杂度的高的算法进行计算,用时间复杂度低的算法进行验证。

随后我们利用海伦公式求出它们所有可以构成的三角形的面积,但是我们不要求它们能构成三角形,于是可能结果是 nan。

随后我们对每一个数使用 unsigned short 进行左移、右移、异或,利用自然溢出进行加密,虽然这一步很多余。

随后我们通过二分(注意到这一步的变量必须要写 h,g,m)求出它们所构成的序列使序列中数两两之间的差大于 m 的数的对数大于等于 k 的最小的 m。注意到我们有 \log n+\log A=\log nA,所以时间复杂度是 O(n\log nA)

实现过程要用上 union 和 mkdir。并要使用链表维护。

随后我们只要向信息传递目标发送 mk 就行了。

收信人收到 mk 时,先建图,利用拓扑排序和 \sum\limits_{i=0}^n 16^i\times x_i 这一公式求出我们要发送的信息就即可。注意到在计算 16^i 的时候,为了不被对方探查出我们使用了快速幂,我们要使用时间复杂度为 O(n) 的快速幂,达到加密的作用。

研究展望

致谢

参考文献

CSP-J 2023 初赛、CSP-S 2021、2022、2023 初赛,CSP-S 2022 复赛 T3。