首页 > 其他分享 >以真正的血泪写就的“警示后人”

以真正的血泪写就的“警示后人”

时间:2024-02-20 13:22:21浏览次数:25  
标签:10 血泪 代码 CSP int 后人 2023 密码锁 警示

痛彻心扉。

我坐在电脑前,看着洛谷排行榜上的125分。然而我感受到的并非从三等变为二等的些许温暖,而是从三等到没有奖项的彻骨寒风。因为,这125分中的百位,实际上根本就不存在——它只是在工作结束之后换下一个残缺的齿轮之后得到的没有用的成绩。

而这就是我,一个跳梁小丑——在赛前终于理解了CSP-S2023的前三题解法,然而却在一道难度连入门都不如的题目上失掉了一切。

中午时,我和同校的一位同学一起去广附食堂吃饭。我跟他一起津津有味地聊着上午的战况。

他轻松地做出了前三题,让只做出前两题的我望尘莫及。我想要从他身上获取到什么,然而我没有任何方法。我问了他一句:

“你的目标是什么?”

他答道:“当然是CSP-S一等。”


对于我们——一群信竞生而言,CSP-S就如同我们的高考一般。它是打开NOIP等一系列主赛季赛事的钥匙,也决定了一个学生在接下来整整一个学年内的学习曲线,甚至是命运。

我曾经在集训的一天里信誓旦旦地对我们深受敬爱的教练保证道:“今年我的目标就是CSP-S一等。”我无比确信地认为自己能实现这个目标。


随后在一股呼啸的寒风中,我走进了考场。

走进考场之后,我看见了一把密码锁。这把密码锁极其脆弱,在设定密码之后只能拨动五个拨圈中的其中一个,或相邻的两个,否则其精密的机械结构就会直接因过大的摩擦力而分崩离析。

但是其脆弱的性质正好决定了其拨动方式只有 $90$ 种。

我立刻“解决”了这个问题,并将这份代码丢在一边:

#include<iostream>
#include<unordered_map>
using namespace std;
int n,a[5];
#define hs_val (a[0]*10000+a[1]*1000+a[2]*100+a[3]*10+a[4])
unordered_map<int,int> mp;
int res;
int main(){
    freopen("lock.in","r",stdin);
    freopen("lock.out","w",stdout);
    scanf("%d",&n);
    for(int i=1;i<=n;i++){
        for(int j=0;j<5;j++)scanf("%d",a+i);
        for(int j=0;j<5;j++){
            for(int k=0;k<9;k++){
                a[j]++;
                a[j]%=10;
                mp[hs_val]++;
            }
            a[j]++;
            a[j]%=10;
        }
        for(int j=0;j<4;j++){
            for(int k=0;k<9;k++){
                a[j]++,a[j+1]++;
                a[j]%=10,a[j+1]%=10;
                mp[hs_val]++;
            }
            a[j]++,a[j+1]++;
            a[j]%=10,a[j+1]%=10;
        }
    }
    for(auto& i:mp){
        // printf("%d %d\n",i.first,i.second);
        if(i.second==n)res++;
    }
    printf("%d\n",res);
}

当时我看到这份代码极其轻易地解决了小样例和大样例后,我便为了帮助小L消除所有的可消除子串、帮助各位发明高级语言的大佬们重写结构体的内存分配方式,以及解决在一片树状森林中以最高效率种树的问题而努力。

这三个问题消耗掉了我的剩下三个半小时时间。

最终检查代码的时候,向来熟悉参加 AtCoder 比赛的我,甚至高傲到连解决密码锁问题代码的 main 函数都没有看一眼。

我失望地走出考场,向我的父母汇报道:

“CSP-S一等无望了。”

在路上我仍然想着其他三道题,唯独除了那把已经被放在角落积灰的密码锁。


回到家后我拿到了自己的代码。

正当我暗自庆幸自己没有忘记删掉自己的调试代码后,我猛然发现自己的代码仅有 $40$ 分。

“这怎么可能。”我想道。

随后我在脑中一遍遍重演着我的算法,甚至已经证明了这就是一个没有错误的算法。

最后我开始重新审视我的代码。直到我看到了这一行。

for(int i=1;i<=n;i++){
    for(int j=0;j<5;j++)scanf("%d",a+i);
    // ...
}

我痛苦地捂住自己的脸,将这一行最后的 a+i 改成了 a+j ,将其提交上洛谷。

随后那个熟悉的庆祝图片出现了。

算法是被证明出来的正确算法,然而却配上了一个错误的齿轮。

庆祝图片对于常人来说,是喜庆的歌声。

但对此时的我来说,却是为我送葬的哀乐。

我不得不接受那个令我痛苦至极的现实——我失去了整整 $100$ 分。


窗外没有一丝的风声。家里是极其安静的。

我躺在床上,久久不愿起身接受这个事实。

但是好像有人在叫我起身。

于是,便有了这篇文章。

从来没有一个时刻,如此时此刻般真实。



Update on 2023/10/24

用了一节信息课+一个中午的时间把 CSP-S 2023 的 T3 A掉了。用了 $167$ 行。

实际上这道题的思维难度并不高,并且 $N,K \le 100$ 的数据范围给了暴力遍历充足的发挥空间。

问题主要在于当时没有花时间看懂具象化题面导致一直在用错误的内存分配方法进行实现。下次做题之前必须看完所有的题面。

如果你能熟练地使用指针的话,那么做这道题就像是在完全照题意模拟。至少我就是这样的。

但是一个半小时的时间放在考场上仍然是不够的。

菜是原罪。

—— 任宝硕

Update on 2023/10/25

用了 $25$ 分钟把 CSP-J 2023 的 T3 A掉了。这道题实际上根本不是大模拟,我的 $55$ 行代码直接证明了这就是一道正常的模拟题。

主要错误在于心态出现问题导致没有在考场上想到快速计算的方法,并且忘记化简导致有理数与带根号实数的加法时间极其复杂并且很难调对。

对于这份赛后打的代码,我仅仅调试了 $4$ 遍直接 AC 了。

明年就是初三了。希望到那时不要有太大的压力,以平常心面对这场比赛。因为那也是我的最后一次机会了。

Update on 2023/10/26

用了 $14$ 分钟把 CSP-J 2023 的 T4 A掉了。这道题码量不大,纯靠思维,就算在我丝毫不压行的码风下也仅用了 $42$ 行代码。

核心思维就是分层图 Dijkstra 。

标签:10,血泪,代码,CSP,int,后人,2023,密码锁,警示
From: https://www.cnblogs.com/SyuAyaka/p/18022887

相关文章

  • K8s 网关选型血泪史
    Sealos公有云几乎打爆了市面上所有主流的开源网关,本文可以给大家很好的避坑,在网关选型方面做一些参考。SealosCloud的复杂场景Sealos公有云上线以来,用户呈爆发式增长,目前总共注册用户8.7w,每个用户都去创建应用,每个应用都需要有自己的访问入口,就导致整个集群路由条目非常巨......
  • 警示:AL32UTF8字符集不是ZHS16GBK字符集的超集
    今天有客户向我咨询:数据库由ZHS16GBK字符集修改为AL32UTF8字符集,发现中文的数据中小部分出现乱码,客户认为AL32UTF8明明可以支持更多的文字,不应该出现这样的情况才对。从现象看,基本可以确认故障是字符集转换导致的,Oracle也强烈不建议做这种字符集转换的操作,幸好该客户的操作只是在......
  • GMD4308太阳能语音警示灯
    性能特点语音播报,警示灯报警时发出人声语音报警。遥控控制,可控制警示灯开关机、工作模式切换。自动识别白天黑夜,根据自身识别的白天或黑夜情况自动调节警示灯报警音量;遥控器自动对码功能,在警示灯底部按钮上电启动后自动为其寻找遥控对码并保存。模式自动保存功能,设置工作模......
  • 董宇辉小作文事件给我们的血泪教训【江湖险恶】
    相信大家这几天被董宇辉事件刷屏了,透彻的说就是几个关键词:功高盖主去董宇辉卸磨杀驴飞鸟尽良弓藏大家都知道新东方的转型成功(打着助农的旗号),董宇辉发挥了巨大作用,很多人也是通过董宇辉才认识了东方甄选,让东方甄选一跃成为抖音前三名的带货直播间。就在直播间蒸蒸日上的时候......
  • 董宇辉小作文事件给我们的血泪教训【江湖险恶】
    相信大家这几天被董宇辉事件刷屏了,透彻的说就是几个关键词:功高盖主去董宇辉卸磨杀驴飞鸟尽良弓藏大家都知道新东方的转型成功(打着助农的旗号),董宇辉发挥了巨大作用,很多人也是通过董宇辉才认识了东方甄选,让东方甄选一跃成为抖音前三名的带货直播间。就在直播间蒸蒸日上的时......
  • 《红楼梦》是明亡清兴血泪史 - 知乎
    title:《红楼梦》是明亡清兴血泪史-知乎updated:2023-06-2707:23:26Zcreated:2023-06-2707:22:52Zsource:https://zhuanlan.zhihu.com/p/426564627tags:-book三年前在天涯看了一篇剖析《红楼梦》的文章后,觉得很精辟。原文已经找不到了,以下是我凭记忆复述原文部......
  • MIT实验警示:人类或需要人工智能辅助才能理解复杂逻辑
    麻省理工实验揭示人类的天赋缺陷麻省理工学院林肯实验室(MITLincolnLaboratory)的一项研究表明,尽管形式规范具有数学上的精确性,但人类并不一定能对其进行解释。换句话说就是,人类在没有工具辅助的情况下,很难准确理解复杂的逻辑。研究人员将AI在游戏中的决策逻辑用原始公式、更自......
  • 十年后人工智能会统治人类?2024年人工智能未来趋势,变化将翻天覆地!
    原创|文BFT机器人01导读人工智能在全球范围内呈爆发性增长,随着技术的不断创新和社会的积极适应,人工智能有望引领一场社会革命。02Gartner发布2024年十大战略技术趋势Gartner研究副总裁BartWillemsen表示:“由于技术变革以及社会经济方面的不确定性,我们必须采取坚决的战略行动,而......
  • 聊聊昨日ChatGPT全球宕机事件,带给我们的警示
    作者|卖萌酱,王二狗昨日,ChatGPT崩了!许多人发现无论是ChatGPT或是ChatGPTPLUS都不能正常工作了。还连带了全球数以万计的依赖ChatGPTAPI的热门AI应用也纷纷崩溃。有Twitter网友调侃到,昨日受ChatGPT宕机的影响,全球的生产力下降了50%,打工人一片哀嚎。更有网友上传了一段视频,真......
  • 警示后人
    今天去一中打友谊赛,大家都犯了很多低级失误。晚自习查成绩的时候,被何老板批评了(悲)记录一下,以免以后在犯我:不开longlong见祖宗挂40chara:和我之前的错误一样,函数前面没定义类型(intvoid之类的),导致本地没问题,交上去CE0挂80libolin1:加了windows.h头文件方便调试,但是评测是在Linu......