三年之期已到

2026牛客暑期多校2

此区只因天上有,人间能得几回闻

比赛概况

2/14

这次比赛开始的时候签到题目吃了几发罚时,然后B和G这两道比较像签到题的题做红温了,在两道题各交了十几发还是没有过题的情况下还是没有过题的情况下还是没有过题的情况下结束了本次比赛,为竞赛生涯留下了浓墨重彩的一笔。

部分题目

M,N

比赛刚开始时看了几道不会的题,签到题队友做了,下来看了一下秒了,思路清晰了也非常好打。

H

开的第一道题就是H,想了想只得出了一个奇偶的必要条件,然后大概20分钟左右,感觉没什么思路,也没人过就先跳了。

下来了解了一下,似乎满足条件的匹配是很容易满足的,有很多种匹配方式。

B

B是我看的第二道,因为H做不来所以尝试跟榜。我似乎一开始忘记了线性基这个东西,在推了一会儿之后决定使用高斯消元,确实是对的,不过有一点难打,时间复杂度也有略高,交了几发都是超时,起初是因为bitset与T轮询问导致超时,把bitset换了之后时间复杂度始终差一点点。值得注意的是,在尝试降低时间复杂度时,发现了好几处逻辑错误,不过样例怎么都能过。到了比较后期重新来看这道题的时候,意识到了可以用线性基,然后马上wa了一发。首先是线性基打错了,后面改了。其次线性基没有只插入异或和为0的位。虽然早就意识到了异或和为1的位对答案没有影响,但是在插入线性基时考虑了这些位,就会导致为0的位上可能不存在主元,从而这一位没有基,在最后算答案时难以统计。直到比赛结束也没能发现这个问题。

赛后只看异或和为0的位,只使用&让为1的位为0,再插入线性基就过了。

G

做B做了半天不会,于是来看队友看了很久的G,队友直接告诉了一个打表打出来的“结论”,关键在于判断l-r中有多少个数与n互质,互质为答案贡献1,否则贡献2。在想怎么避免超时这个问题,我想了一种bitset加根号分治的方法,时间复杂度略高,队友的容斥明显更为正确。我根据队友的思路打了一份容斥的代码,怎么调都是错的。后面队友拿着跟暴力遍历求gcd的代码对拍没发现任何问题。尽管我们最终还是怀疑到了结论头上,是有点bug,然而还是认为结论是对的,只是不会证明。在尝试证明的时候也想到了距离n最近的质数前面的数是肯定满足结论的,后面的两个数中间没有质数的情况不知道怎么证。造就了一种怎么想都是对的,交上去就是错的sad局面。

赛后发现结论就是错的,打表2000多有反例3但是没看到...... 1e7以内质数相距最大不超过几百,两个数中间没有质数的情况直接dp,$ gap^2 $ 就做完了。前面的还是可以容斥。

L

在签到题做不上的情况下来看一道新题,无疑是完全痛苦的,推的时候根本没什么耐心。不清楚这个变换操作对逆序对的影响。

----当时只道不寻常

下来冷静了许多,很快便意识到了L题变换的本质就是改变 以p中每个逆序对(这两个数的值)为位置 的数在原排列中的逆序关系,只要让它们都为逆序或者非逆序就行了(找一种*2更好做)。然后为这些关系连有向边,为每个节点赋值看有多少个拓扑图满足这个关系。然而却不知道该如何计数,在看了题解后重新回忆了一下有关状压dp的相关知识,很快便补完了。

others

没看,补了也不写在这

策略

做的时候犯了很多唐,可能是太久没做题了,太摆了。思考到正确的想法很慢,也缺乏在队友方法的基础上修正。

因为都太弱了,感觉和队友也交流不出啥,除非真的有结论的时候,尽量减少无效交流。

实现能力我觉得有待提高。可以综合根据过题人数和过题时间来判断自己的解法与答案解法的实现差距,初步验证解法。

觉得还是题练习太少了,很没有思考的感觉,以前的知识也有所遗忘,仅凭理解和少量记忆打算法模板很慢,还很容易错。

posted @ 2026-07-23 11:27  _LLD  阅读(0)  评论(0)    收藏  举报