rt

10 条评论

  • @ 2025-11-17 21:25:14

    Full Edition

    DAY 0

    7:30刚到学校,正式开始自己的第一场耻辱模拟赛!

    7:42

    打好缺省源,A 读题加初思考。

    8:01

    B 读题加初思考。这里就不得不提到我逆天的赛上历程了。首先把题读错了: 将二元组 AA 重排序看成把 aa 重新排序并且直到下午才搞清楚自己读错题了!然后看着式子开局就推错了,遂感觉没思路。看 C

    8:11

    C 读题加初思考。自己画了一个 DAG ,感觉有类似拓扑的性质。

    8:18

    D 读题加初思考,很显然并没想到

    $\sum\limits_{i=1}^n{\operatorname{min}(\left\lfloor\dfrac{a_i}{k}\right\rfloor,c)}$

    这个性质,所以感觉有点头疼啊。

    8:24 ~ 8:34

    写了 AO(n3)O(n^3) 暴力,意识到该问题是不可分治的,于是不由自主的往字符串算法去想,无果切 B

    8:34 ~ 8:54

    继续推 B 的式子,二元组 aibi×ajbja_i b_i \times a_j b_j 的性质都是对的,不过敲完暴力发现它小样例输出 1818 (回收伏笔),于是感觉非常蒙。

    未知时间段

    B 又换了一个实现方法还是错的,晕了,接下来就开始怀疑除了读题以外的一切事物,从代码到环境到IDE到样例,从运气到信心到天空宇宙 全属某某 未明何处有售

    这绝对是这场最大的失误。

    9:25

    回到 A ,原文如是记载:

    一个傻逼结论 答案<=6 因为有 a a ... | a ... a | ... a a 的情况
    然而它也不一定是最小的

    这个结论只能说碰到了贪心的边,不过结果还是很好的:它成功启发我写了神奇的杂糅代码。

    挂上对拍,代码一帆风顺(假)。

    未知时间段

    试图攻破 C 的式子,很遗憾并没有什么用,写了暴力想到单调栈有问题又改了,总算是 10PTS 了。

    10:11

    回到 B ,忍无可忍重构了代码,当然没有用,开头错了,就没有对的路走。

    11:15

    只能搞 D 了,遗憾的是实现并不顺利,唯一的希望也炸了。

    遗憾离场


    后期总结

    A 的贪心确实蛋疼,确实也浪费了一些时间,不过不致命。
    当然我也想到 A 不可能搞什么特别难的东西,然而问题就是我的思维方式里面会下意识地把贪心想成太感性的想法,这样就会导致我很多时候是不敢写贪心的,因为觉得它很可能错。

    还是得树立贪心的信心,T1 贪心概率挺大的。

    B 算是大问题了,首先它暴露出来我一个致命的问题:

    不会想自己可能是题理解错了,诚然正式比赛注释应该是很详尽的,样例也应该有解释,但是不怕一万就怕万一,谁敢确定呢?这个应该添加到 Debug 工作流里面。

    推式子什么都还好,之后自己推的也是一路顺风。

    C 还是不敢写完贪心就放手。
    一路停停走走,当近在咫尺的未来已天涯,当不知道走下去自己要的是什么,此时此刻只应该放弃相爱骗分资格,说出那一句刻骨铭心而绝对的"可以了"。
    毕竟啊,不要走到最后才清楚:真心有苦,痴心有毒...

    D 主要还是被 B 牵制了。总之,B 是万恶之源。

    希望这一切只是一个不光彩的开始吧。

    • @ 2025-11-17 20:13:23

      论2025.11.17NOIP模拟赛

      一个200多挂成30的浪漫故事

      T1

      上来,看着非常的困难。第一眼感觉可以写个哈希来优化,但是端点枚举怎么办。所以上来先写了一份n3n^3的暴力,留着可以当对拍,然后愉快的去了T2 --------------------------------------------------- 后面大败而归,T2稍有成色后回来继续看这个恶毒的T1。看着暴力求lcp的时候要特判字符的长度,说明和字符串的长度有关?那么考虑极端情况。既然我的最长公共前缀是要从头开始匹配,那么我直接长度取1呢?欸?然后就是梦开始的地方:注意到了 ans <= 3,那么开始分类讨论开干。考虑到我尽可能的要让几个串的开头都不一样对吧,那么写个类似于指针的东西来移动找到不一样的下标,然后直接判断就可以啦。然后紧接着就是那个梦破碎的地方:我的下标和答案混在一起共同移动,导致我的下标边界直接飞出去了具体就是 for (; i <= n - 2; i ++) 然后输出来的东西死活不对,赛后怀疑是边界问题输出来了才发现我的i变成了n(请输入文本)。赛后多加了一个量处理了边界问题就对了。哈哈

      T2

      这个是最惨的,上来被数学式子唬住了,所以牢记NOIP生存法则之先写对拍,然后看着代码拆一下贡献,感觉有点心动的感觉。隐隐约约感觉那个n!n!的重排直接按特定顺序排完序就可以解决,但是好像无法证明,说不清楚。再加上现在刚想完T1又搞了T3T4,脑子感觉有点罢工。既然对拍的暴力写了那就打表吧。打着打着就初现端倪。这个顺序感觉非常的暧昧。拍了几十个样例后就基本确定了。排序解决了所以来考虑式子怎么算。无非就是把我的内层循环给消掉用式子来代替。扫描的前半部分由于排序确定了大小关系,所以式子非常的简单。后半部分由于存在两部分,一部分是差,一部分是差的平方。先考虑怎么分开。这个地方就看着1e61e6直接二分了,反正nlognlog也不会炸。其实可以用双指针,优化loglog变成线性。但是这个无关紧要的。平方差怎么算?嗯,先把括号拆开。然后注意到由于我们已经排了序,算的一定是一个连续的区间,两个前缀和直接解决,完结撒花!!!忽略调整这个冒昧的边界调了10min 交上去发现我唯一的希望又WA又T的那一刻天塌了。T我以为可能是loglog会炸。这个WA是不是有点冒昧了?后面一看,哈哈没开longlonglong long。我甚至算答案的时候考虑是不是会爆longlonglong long还特意调整运算顺序,结果没有发现最开始的a数组开的int,导致算前缀平方和的时候就爆了。至于T?跟我的没关同步流说去吧。

      T3

      上来就是一个令人遐想的 n<=20n <= 20,但是那个 m<=3000 m <= 3000 非常的不礼貌。这个时候先写了一份暴力的dfsdfs剪枝。由于完全没有往状压dp的方向想(我一直都是认为只有题目描述具有明确的二相性,比如 0 和 1,才会上状压),然后又没有想到用相对大小和组合数来优化,感觉这个题好像没有什么希望就先走了,反正暴力也打了,20分的档也拿到了。这个时候T4还没看,前面几个该顶起来的T1T2这个时候也没什么进展,所以感觉归心似箭,想着赶紧看完T4就回去吧。所以就先一给路打油了。

      T4

      上来就被长长的题面搞得有点烦。这个等距离呈圆形分布和直线相交又勾起了我不好的回忆。看完题目感觉后面的轰炸机制还不是很明确就先去考虑怎么处理建桥这件事。并查集肯定是必须的所以得写,然后由于不考虑正解,时间复杂度可以稍微放飞一下,所以很顺利的写了一个n2n^2的区间交集解决了。 然后就是这个歹毒的完美轰炸。这个时候脑力经过一轮轰炸已经有些神志不清(这个时候就应该出去转转了,但当时写上头了硬生生摁在那里没动)。结合样例看了半天才理解(当时看的已经快不认识“轰炸”这两个字了)。速速写完一个暴力就归心似箭得想走。结果大样例第一个就挂天塌了。看了半天以为是自己写挂了但是看了半天也没看出来什么名堂。长度为100的数据也不允许我一个个手玩。再一看时间剩余的实在不多,前面的任务还重,就先忍痛抛弃了T4。赛后吃饭讨论时才发现题目理解有点问题。我以为的任意选择基地来轰炸的策略实际上有的时候会把合法的情况判成非法实际上概率相当大,这还能得5分属实没想到。然后看着人家的代码就多加了一个单调队列就有40分,再看看自己的5分,简直是痛心疾首。

      All in all

      1.首次在赛上使用对拍,感觉写的挺慢且不熟练。有的时候甚至对拍还要在那调一会 2.出现一些神秘小错误。感觉要跟当时#define int long long一样发毒誓,以后写代码一定先关同步流以免造成悲剧。 3.感觉实际水平和昨天预测的出入在于前两题写的不好还不能保证正确性。进度卡在90%的结果告诉流量用完的感觉。今天还是比较简单的一场,确实有点为后面的训练堪忧。 我勒个2000字啊

      🤡 4
      • @ 2025-11-17 20:07:04

        **简讨:

        # 分数为3030分,0+0+30+00+0+30+0

        时间分配大概是30min+40min+min+min30min+40min+?min+?min T1,T2,T4,T1,T2,T4,最后测试时打开freopenfreopen没有关掉,就都是零分,前两题1个多小时就做完了,T3写了暴力3030分,用了很多种剪枝,每具了相对大小,并用组合数计算,但1212左右就TLETLE了。 T1T1比较简单,但是 不 小心将a字符串的第一个字符写成了a[1]a[1],只有4040分,由于答案不大于3,分几种情况就可以了,写起来不复杂,开始30分钟就写完了,T2看由于x×xxx\times x\ge x,所以猜了结论将aa排序,看了样例发现如果aa都不相同,答案就为00,所以只有aa相同的会让答案更大,应为当j>ij>i时只对a[j]>a[i]a[j]>a[i]时为w(i,j)w(i,j),a[j]=a[i]a[j]=a[i]时为w(i,j)w(i,j)w(i,j)*w(i,j)所以对于a[i]a[i]相同时对a[j]a[j]从大到小排序,先减去b[j]b[i]b[j]-b[i],再加上(bjbi)2(bj-bi)^2就可以了,用方差公式展开一下就可以了 ,T4T4场上没看懂在干啥,就没有写暴力 后来发现暴力很好写。

        👎 4
        🤣 2
        🌿 1
        🤡 1
        😕 1
        • @ 2025-11-17 19:57:53

          11.17检讨11.17 检讨

          • T1 神秘T1没看出贪心

          • (没注意是最小值,刚来头挺昏的)先写了个n3n^3就跑了,知道可以用hashhash优化成n2n^2的,但没时间了(....

          • T2 挂55pts55pts

          • 问题1:1:dfsdfs 初始化为1e91e9 应为1e181e18

          • 问题2:2: 写了一个好东西

          using PII=pair<int,int>;
                #define int long long
          

          呵呵

          • 问题3:3: 写了一个a[i]=b[i]a[i]=b[i]的特殊点,但数组没开够.....

            问题确实挺多的

          • T3

          • 还好写了个暴力就跑了,乱优化了一下还多得10pts10pts,感觉确实挺难写的,这道题有这个分差不多了

          • T4

          • 得了40pts40pts 我写的是n2logxn^2logx ,我算不清楚这个xx是啥,就暂且按照n2lognn^2logn算吧,就是40pts40pts,也不知道是不是测试点顺序有问题,该过的有些没过,有些不该过的反而过了。赛时因为有小bugbug调了很久,导致没时间优化T2T2和再看一下T1T1,主要是感觉我能写,就一直写下去了。

          • 很怪的是小样例过了,100100的样例过了,1000010000的样例WAWA了(跑了910ms910ms差点TT),最后也没能调出来。但测试时1000010000的过了,10001000的却WAWA了几个,有点看不懂了

          总:合理分配时间,减少无意义时间,提高效率

          👀 1
          • @ 2025-11-17 19:55:00

            坏了 创了个讨论

            引------今天的比赛虽说看起来分还可以,但是太有瑕疵了 T3和T4后面部分分都没写出来,亏大了

            先说说比赛历程

            T1 花了接近40分钟(其实20min左右是在调教vscodeT2 花了20分钟写了个暴力 稍微推了下柿子 有点想法 准备暴力打完再写 润了 T3 看题以为很有思路 想写一个40分的 然而在万事算尽之后 写到最后了才发现check最长上升子序列不会写(40~60min)果断逃离 T4 完全没有想法 主要也是不会check 想+写 大概30min~ 后来再也没有理会过这道题 T2 2.0 推柿子有结果了 直接爽写一个n2n^2 样例一遍过 然后就继续推柿子 成功写出来nn T3 2.0 没招了写个dfs

            总结

            • 贪心很垃圾
            • 稍微有点红
            • 睡眠有问题
            • 今天早点睡
            👀 1
            • @ 2025-11-17 19:50:49

              DAY1检讨

              本次分数:

              0+100+30+30

              时间分配:

              0.5h+1.25h+1h+1.25h

              挂题题目:

              T1

              赛后反思:

              我的思路是先按顺序写完T1,T3,T4的暴力,然后完成T1的完整代码,再然后拿T2的高分; 但是比赛过程中先完成了T1的暴力,然后开始写T3,T4的代码,但是在写T3的时候,没太读懂T3的题面所以在T3耗了一部分时间,但是只想出了暴力O(m^n)复杂度的代码,还有再写T4的时候,虽然已经完成了代码的书写,但是任然被卡主卡了,样例没过,在T4调了很久时间。返回T1想了下,暂时想不到做法,于是去写了下T2,推了半天的式子但也是成功的过了。于是去想T1的正解但是没想出来,而且暴力还错了(赛时没检查到),我以为他给的样例就是题面上给的样例,所以T1挂完了。

              最后总结:

              本次比赛最主要出现挂题的原因是正解没想到和没测大样例。所以在日后的比赛中应当重点注意给的大样例,和赛时的写题思路。

              👀 2
              • @ 2025-11-17 19:40:56

                Day1 检讨

                分数组成:50+30+20+15

                时间分配:大概是 2h+1h+0.5h+1h

                自我评价:不太好,T1 T2与预期分数不符。

                赛上经历:首先看 T1,看完之后立马有个想法就直接开始写,写到有问题的地方就缝缝补补然后继续写。卡了就想,想了就继续写。后面发现自己思路好像不太清晰,勉强写了一版 O(n)O(n) 代码发现过不了样例。此时 1.5h,发现做法错了。然后看了 T2 题面,看完后 T1 又有想法,然后先写个 O(n2)O(n^2) 的贪心。2h 了累计分数 50,不敢再优化花时间了直接开 T2。直接认定 T2 肯定是排序。根据 A,B 分别排序找规律然后把大样例过了。后面根据式子的贡献略证了一下。不敢 100% 确定。且在赛上认为其优化应该用至少两个树状数组维护一些类似平方和的东西。也不敢乱上优化。开 T3,数据范围很迷惑感觉状压 dp,但是状态不会设置。于是只能 dfs + 信仰剪枝。T4 读了大概 15min 题目后终于看懂了。很像 Atcoder 考烂的圆上相交的结论,然后把 T4 拆成两个独立的问题:并查集相交 + 贪心算答案。二者都很容易想到 O(n2logn)O(n^2 \log n) 暴力。然后小样例可以对大样例就错了。一直调到结束也没调出来。

                赛后反思:首先 T1 在前 1h 没有突破时候硬写。应该理清楚先思路或者在前半小时没有确切解法时先写暴力。当把暴力写出来时在根据暴力去思考。T2 排序后也应该对着式子观察性质。按照 A 排序完后可以化简式子,其实化简后很容易想出来只用算 A 相等时 B 的贡献。T4 特殊性质挂分,细节错误。

                小收获:多测 T 很小时可以在时间复杂度随机化乱搞。对于一些有对称性的式子可以观察不同点。比如 >= 和 < 就重点看 =。

                👀 3
                • @ 2025-11-17 19:34:21

                  关于NOIP模拟赛D1T3少拿一档分惨案的检讨。

                  我非常检讨T3骗分较少这件事。

                  在前两题花费大量时间之后,就去写T4的暴力,然后被贪心硬控非常久,尝试写O(n2logn)O(n^2log{n})的算法,拍完序乱搞一通但是一直过不了,最后又写priority_queue<int>的做法,花费些许时间终于过小大样例,但中大样例TLE并且WA,感觉浪费了很多时间调。

                  最后30min来写T3暴力,很快写了一个O(mn)O(m^n)的非常无脑的搜,没想到可以剪枝拿更多分,就回去写T4最后还是没整对贪心,只能检查了交。

                  所以应该早点写T3暴力,并预留时间继续骗分。

                  🤔 3
                  ❤️ 2
                  👀 1
                  • @ 2025-11-17 19:34:03

                    11.17 150字检讨

                    T1没挂 T2 出现了有史以来最离谱的挂法,赛时写完T2才想起没写ios关流,于是写了个ios但也许是一星期没打了于是写了个看起来很对(确实是对的,只是没关流同步,相当于白写)且能编译的ios,自认为没事没问题,因为以前从没错过。赛后发现T了70分QAQ,仔细检查了一遍,又丢给豆包,都说是O(n log n)计算是O(n)的(一定是被做局了),经过常老师看了才发现,忘打false了流通步关了个寂寞!!! T3暴力不太会 T4贪心贪错不然就75了

                    🤣 3
                    👀 2
                    👎 1
                    😄 1
                    • @ 2025-11-17 19:10:48

                      关于 11.17 日得分未达到预期的检讨

                      赛时历程

                      T1 首先写出 n3n^3 暴力,但是写完暴力后出于神秘原因导致题目上写的求最小值,但我一直在思考求最大值,想了一会贪心后不会,跳题

                      T2 一眼感觉是微扰法,于是写出 n2n^2 暴力,但推错贡献的式子,测试样例 2 发现有误,于是写了 n!×n2n! \times n^2 暴力用来重排后的顺序,意外发现排序的顺序,于是直接排序写出 n2n^2 代码,瓶颈在于算答案(这个代码里没用错误式子算贡献,所以对了)

                      想到从推式子算贡献,带入最初式子后发现有误,过了小样例但没过大样例,调不了一点,于是想写对拍找点小的错误样例,结果比较的程序命名成了 fc,,导致比较文件的时候会调用到自己,浪费时间去调对拍,后来改了名字,但是忘记删除 fc.exe,导致还是在递归,总共浪费了 20min 去调对拍

                      拍出错误后重推式子,结果再次推错,但过了小样例,懒得拍了,于是直接尝试优化,想用树状数组维护平方和、数值和以及个数,写完发现大样例没过,于是对拍拍出错误样例,手工计算后发现式子错了,再次重推,终于把正确式子推出来,稍微修改后过了所有样例

                      n!×n2n! \times n^2 的暴力拍了几组 RE 了,盯了半天感觉不应该,于是输出下标看了看,发现跑到了 -1,原来是gen 写错了,输出的 aia_i 是 0,修改后拍了 20000 组没错

                      接着用 n2n^2 暴力拍,拍了几组又错了,原地红温,把两边的贡献分别输出,发现暴力的 long long 没开全,改了过后终于通过

                      T3 没思路,写 dfs,当时有想过只保留相对大小,但是没想到通过给贡献乘上 CmkC_m^k 来实现,只能写上朴素版本,加上一点剪枝

                      T4 感觉很可以整除分块,但是不会贪心,感觉应该很对的代码一直过不了大样例,于是睡觉

                      赛后总结

                      • 仍然存在题目看错的问题,应当仔细读题,并用一些数学语言表示出来。长时间思考后仍然没有思路,应当回到题目,并关注题目要求、数据范围、特殊性质等,获取灵感

                      • 对拍的使用不太熟练,需要多加练习

                      • 推式子能力较弱,如 T2 在 i,ji,j 的转换之间存在一些问题,导致多次推错。应当及时检查,带入一些样例检验

                      • 贪心只能靠多刷题了吧。。。

                      🤣 5
                      👎 3
                      👀 1
                      • 1

                      信息

                      ID
                      7
                      时间
                      1000ms
                      内存
                      256MiB
                      难度
                      10
                      标签
                      (无)
                      递交数
                      6
                      已通过
                      0
                      上传者