CSP & NOIP 模拟赛记录

9.18(by lanos212)#

T1 签到,10 mins 内过了。

T2 乍一看有点困难,题目太形式化,不太直观,先跳过去思考 T3 了,T3 没有什么 DP 的思路,但是这种题显然需要 DP。

看了一眼 T4,被一堆式子糊脸恶心了,没有怎么思考。

接下来一个小时在思考 T2 和 T3,突然发现 T2 只需要每次求最短路就可以了,那么就是简单的,但是乍一看自己写的好像是 O(n4) 的,但是每个点只会被更新 O(n) 次,那么均摊就是 O(n3) 的了,感觉这个题浪费这么多时间真的不太应该。

然后冷静下来看 T4,发现需要 DP,看到区间最小值考虑按照笛卡尔树来 DP,想了一下会了 O(n2) ,直接写就过了,最后还剩下一个小时左右去攻克 T3。

但是自己根本没有往组合意义那方面想,也就是把所有方案的权值和双射到计算另一种方案上。

题目中的 ci 可以看作每个小狗选一个最喜欢的,那么就可以设出一个 DP,fi,j 表示前 i 天,已经有 j 只狗得到了喜欢的香肠的方案。

fi,jfi+1,j+k(njk)(njkai+1k)

最终得分:100+100+44+100=344,rank 8。

9.25(by Mine_King)#

T1 签到,但是磨蹭了一下,到 20 分钟才确定过了。

T2 读题花了很久,先会了一个暴力 DP,发现在根大于儿子的时候下面都是确定的,于是可以建立重构树,据 @喵仔牛奶 说这种东西叫“树上笛卡尔树”,反正改完之后直接 DP 就可以了,这个题做了 2h,问题可能在于没有快速发现上面那个加粗的性质吧。

T3 没有任何的观察,不会任何多项式做法,实际上后两题都是我薄弱的字符串 Border 理论相关。

T3 给出的这个每个字符出现至多 2 次,可以得到这个串只有一个长度小于等于一半的 Border,证明直接反证。

对于 Border 相同的字符串 P=ABA,计算 f(S,P) 的时候只考虑 S 中若干个 ABABA...ABA 的极长子串,设有 xA,那么答案是 x2,感受到计算这个只和 border 长度有关,不关心填了什么,那么直接枚举这个长度,然后问题变成计算 f(S,P) 和计算 border 为 lenP 的个数。

  • 计算 f(S,P)

len=0 的时候答案就是 (nm+1)Vnm

那么直接容斥,计算 i=1(1)i1S(A(BA)i)S() 表示直接计算的答案。

  • 计算 border 为 lenP

直接枚举中间部分出现两次的字符个数。

因为 V109,所以需要化一下式子,变成只和 V 的不超过 m 次下降幂有关。

T4 其实关键在于 Significant Suffixs 只有 O(logn) 个,然后是好做的,只需要一个 O(n)O(1) 的分块即可。

最终得分:100+100+5+10=215,rank 9。

9.28(by cyfff)#

T1 直接过了。

T3 想了一下发现可以区间 DP,那么也过了,这个时候 9:00,还有两个多小时。

T2 先做了一些错误的尝试,然后发现只能记录留下来的两张牌,写了一个暴力 DP,发现只转移存在值的点似乎很快?但是实际上复杂度是错误的,在这里花费了一点时间做无意义的尝试。

冷静下来发现 DP 的转移量远小于状态量,想到之前做过的类似题,那么直接转移可能的转移就是对的?

写了一下发现过了大样例,但是已经快 11 点了,T4 看了一下发现是个容斥状物,但是先打算写 T2 拍子,写完发现没过拍!

冷静,发现是全局加 1 的时候标记打错了,调了 30mins。

最后 20 mins 极限冲了一下 T4 的两个暴力分。

但是,T3 fst 了!!!1

原因是常数太大,小机房机子太慢,导致的 TLE,虽然做法是常数非常小的,但是因为寻址的不连续,导致很慢。

最终得分:100+100+54+34=288,rank 9。

不 fst 就是 334 + rank 4 了/kk。

感觉目标是省选的话这个分和排名还是不够啊,需要加训点比赛了。

9.30(by cqbz)#

T1 签到,但是对于这个结论还是稍微犹豫了一下。

T2 构造,但是发现并不难,先会了 3n+4 的做法,然后发现 n=300 可以直接构造,这时候 9 点。

然后花了 2h 在 T3 和 T4 上来回游走,发现一个题都不会,T3 以为自己会了 O(n2logn) 的解法,但是调了很久才发现假了。

最后留给暴力的时间不多,只有比较基础的 45+25 暴力,写着写着发现会 T4 了,但是是个码量比较大的题,导致完全写不完,最后遗憾离场。

最终得分:100+100+45+25=270,rank 4。

发现很多人被 T2 创飞了,但是自己明明没有被创到还是分数不高?关键在于没有快速认识到 T4 是简单题,属于是被 T3 创飞了,没想到 T3 大家都不会。

10.5 (by edge)#

T1 简单题,10mins 过了。

T2 想到了二进制分组,但是没有想到按照最高位来区分,写了随机乱搞居然过了。

T3 这种题一看就是把括号序列转化成 11,但是没有去分析一个路径和括号序列的对应关系,而是直接去考虑直径了,实际上考虑范围可以不用一步到位。

T4 是经典的双射计数题,自己已经推出了双射的情况,但是没有简化,导致无从下手。

最终得分:100+100+55+25=280,rank 6,被开挂哥超了/lh。

10.6 (by grass8cow)#

T1 是简单的。

T2,T3,T4 看过之后感到非常困难,T2 是结论题,但是没有什么想法,T3 是一个组合意义题,看来比较可做,T4 是一个 ds,感觉和之前做过的题有点像,但是也不好直接转化。

于是先冲了一下 T3,发现题目两个组合对象是无标号的,然后自己推成有标号的了,导致一直没有做出来,发现错误后考虑了 DP,但是没有得到什么和 n 无关的 DP。

但是第一步的组合意义就转化的不够彻底,这种“分界”的形式可以引入一个新的组合对象来实现。

然后将所有的 DP 式子列出来就可以得到一个和 n 无关的转移式子。

T2 的结论通过部分分可以得到和二分图有关,但是不清楚有什么关系,当时一直在硬推,但是没有去做第一步的转化,也就是将点权和颜色绑定,否则是很难同时处理两个对象的,但是我当时一直在想如何固定一个移动另一个,这实际上是后面的工作了,另外和二分图相关的结论可以去考虑如果存在奇环会怎么样。

T4 就是要不断找最优的情况。

这种多个线段问题,往往考虑区间没有包含的情况,也就是左右端点都递增,这个问题中显然包含别的线段的线段不优。

于是只需要前驱后继,使用 set 可以维护,还需要用拓扑排序处理包含的情况,代码比较难写。

最终得分:100+0+30+40=170,rank 8。

10.7 (by qdez)#

T1 想了一下过了,花了 20mins,当时感觉这个题比较容易挂分,打算打个对拍,但是没打。

T2 不会一点,第一步转化成平面上的问题就没想到,可能想到了,但是以为要矩形加法导致不会了,感觉降智严重。

排列问题无非就是考虑二维平面和置换环。

T3 很快发现了答案是每个点两边取 min 加起来,但是不会维护了,自己以为是考虑增量,但是实际上就是把原来的减掉然后再加上新的,使用倍增即可。

T4 是一个有后效性的 DP,显然使用高斯消元法,但是如果对于所有东西消元的话只能过 80 左右,实际上可以只对答案数组消元,因为其他的 DP 转移都没有后效性,提前预处理就可以了。

最终得分:90+60+36+72=258,rank 5,T1 因为输入了 n×n 的矩阵导致挂了 10 分,T4 取模搞出负数又是 8 分,但是一题不过能 rk5 有点吃惊。

10.12(by gdsy)#

最傻逼的一集。

T1 主席树板子。

T2 不会。

T3 直接暴力的复杂度就是对的。

T4 直接网络流。

10.14(by wenmo)#

我的模拟赛。

10.16(by wmic.)#

T1 和 T2 是签到题,稍加推理后便通过了,此时 9:00 左右。

T3 直觉是一道欧拉路题,根据差最多为 1 也可以发现,事实上也确实如此,但是自己并没有任何的方向,没有全力探究 S=2 的性质,导致无法进一步推算。

T4 是比较困难的题,直接暴力拿了 56 分,实际上专注 l+1=r 的性质也不难做出来。

最终得分:100+100+15+56=271,rank 4,T3 的发挥还是太差了。

10.17(by szzx)#

4 题超纲了 3 个???

T1 和 T3 题目都表述不清,导致我浪费了很多时间没有通过。

T2 较板,但是学会了 Manacher 求解本质不同回文子串,可以将极长子串挂在右端点得到。

T4 是较为巧妙的 DP,但是思考时间不多,比较遗憾。

最终得分:40+60+20+10=130,rank 14。

10.18(by cqbz)#

T1 是简单的,T2 很快发现了等价条件,然后直接计数是 O(n2) 的,需要 bitset 优化,但是并没有想到合适的方法,实际上应该去转换 DP 方式。

T3 std 23k。

T4 是较为简单的题,但是一开始忽略了 hi,1=ci,导致比较难做,最后仅仅得到了 15 分。

最终得分:100+80+0+15=195,rank 11,感觉失误较大。

10.21(by tyr)#

T1 花了 15 分钟。

T2 思考了很久,在 1.5 小时后写出了一个能过全部大样例的做法。

T3 读完就秒了,写了一会但是卡常数了很久,最后用 fread 导致 MLE 了/ll。

T4 没来得及做什么思考。

最终得分:100+60+60+45=265,rank 13,不挂分就 rank 4 了。


中间若干场模拟赛咕了。

11.6(by cw)#

开场想了一会 T1,比较迷糊,然后想写 FWT,但是刚开始写就会正解了,此时已经过去半小时了。

然后看到题目难度不一定排序,看了一下 T2 和 T3,觉得 T2 似乎不难?

然后想了一下 T3,以为会了一个 2npoly(n) 的做法,写完发现复杂度假了,冷静一下把 T2 写了,但是花了 1h 左右。

接着在 T3 和 T4 之间徘徊,最后没有写出什么题。

最终得分:100+100+40+10=250,rank 4。

没想到 T3 是如此简单的暴搜???T4 做过的转化却没有能快速转化好???

最近的训练状态有点不牛,能不能静心下来思考呢?

11.9(by lanos212)#

开场十多分钟过了 T1。

接下来简单做了一下 T2 没做出来,于是看了看 T3 和 T4,发现 T3 是个较容易数重的 DP,T4 是个找性质题,思考一段时间 T4 后基本得到了答案的等价条件,但是其中一步不够简洁,导致没能快速写出 O(n2) 的暴力。

回过头思考 T2 发现仍然不会,只能先打一个暴力,然后考虑了一下时光倒流,猜了个结论但是 WA 了,意外的没有 TLE?

这时候已经只剩一个小时不到了,反复冷静自己,突然发现自己 T2 少了一句判断,加上后就通过了。

最后打 T3 暴力的时候会了状压的做法,可以得到 72 的高分,但是写不完了。实际上正解也就是这个优化一下。

感觉发挥的太唐氏了,为啥会题只要一瞬间,无效思考一万年。

11.13(by 369Pai)#

开场读错了 T1,但是做法是一样的,枚举到四次根号(被卡了,实际上枚举到五次根号就够了)。

T2 读完数据范围发现梯度很高?那么估计不是什么多项式算法,写了个暴搜直接过全部大样例了,什么情况?似乎 hack 不掉,但是复杂度好像是错的啊,感觉是 O(2n3) 的,但是先不管了。

接着看 T3 发现是个二维数点和扫描线的状物,推了一下发现形式总是很不简洁??断断续续想了 1h+,最后推翻整个做法重新算了一次就过了。

期间还以为自己要爆蛋了,去打了打 T4 暴力,最后剩下给 T4 的时间有点少,只打了一个 72 的暴力,但是实际上稍加思考得到容斥做法还是很简单的。

最终得分:95+80+100+72=347,rank 7,T2 没有判掉二元环导致复杂度假了。

11.16(by rdfz)#

开场 10mins 过了 T1,感觉这个题不简单啊?

然后看 T2,尝试套用了一下经典的贪心,是对的,但是怎么是 O(n2) 的?想了一下可以贪心,然后过了。

期间思考了一下 T3,发现答案就是每个点权值的乘积,但是没想好怎么维护,直接上了个树剖套线段树,实际上只用树剖维护好虚边就可以了。

最后留下 40 分钟左右做 T4,想到了对于每种值考虑其所有因数,但是没能发现答案就是因子个数的倒数和,正解 min25 筛,大家觉得呢?

最终得分:100+100+100+20=320,rank 5。

11.18(by 369Pai)#

T1 是个板子,直接写就过了。

看了下 T2 一点不会啊???接着看 T3 还是不会???逆风局怎么打?

决定先思考 T2,然后一直在考虑最小质因子的限制,根本没有想到欧拉函数,但是这题要求的不就是互质的个数吗,为啥会忽略定义呢???中间思考了 T3 和 T4,会了 T3 的 bitset,发现 T4 和我的模拟赛有点像?直接套用了那个题的做法拿到 72 分,后来会了 T2,但是被逆元问题卡了一会。

其实 T4 我的做法多记录了一维 DP 状态,可以省去,然后利用一个字符串的 Border 只有 O(logn) 个等差数列,那么就结束了。

最终得分:100+65+35+60=260,T2 因为没取模挂了 35,T4 数组开小了,挂了 28,rank 10。

11.19(by qdez)#

赛前知道了有个 13.4k 的分讨题,决定过三个题就是胜利!

开场看 T1 怎么不会?思考半个小时无果。

T2 发现是之前看到过的二分图匹配法解决排列 DP 问题,马上秒了。

T3 稍微推了推发现还挺可做的,于是就先推进了这个题,大概有了一个一车细节的算法,然后直接写了,调了半个小时左右过了样例。

T1 在找规律的时候发现了可以把序列按照行的和排序!写了一下过了,但是因为没有大样例,所以写了个拍子,居然拍上了!

因为 T3 没有大样例,所以也写了个拍子,但是怎么一发就 WA 了!?发现是有个地方写错了,一改就过拍了,震惊,我还以为要挂的很惨呢。

最终得分:100+100+100+0=300,rank 1/ll。

实际上 T3 我有个地方没有优化,复杂度是 O(n2) 的,但是数据水,导致过了。

11.21(by 广铁一中)#

T1 和 T2 是较为简单的题,1h 后便通过了,然后做 T3,当时一直想对于一个起点求出答案后,考虑到其他点的增量,实际上这种问题还有一种解决方法,是对于每条路径考虑,给点打上 tag 来维护,这题便可以使用 Trie 加启发式合并来解决。

T4 是 lzy 模拟赛 T4 相同的 Trick,提供了一种几何解释,也就是周长最大一定有跨过中线的点边。

最终得分:100+100+45+72=317,rank 7,T4 遗憾挂分。

11.23(by Mine_King)#

T1 板子题,先写了,对着 T2 犯唐了很久,警示是这种问题优先思考组合意义,到九点半才过。

看 T3 发现是看过的题,但是当时自己一点也不会啊?再次思考了一个小时无果,解决这种问题可以将其放到二维平面上考虑!

这样的话下意识觉得 T4 很难,想了一下会了大多数情况,还有一种重合的情况不会做,先打算写了前一直情况,但是没来得及写完就结束了。

最终得分:100+0+20+0=120,rank 114514。

T2 因为没清空好爆零了,所以 NOIP 一定过了题要记得拍!!!

T3 和 T4 打了 98 暴力分但是也挂掉了,主要是 T3 数据点分治搞错了,以及 T4 没给有强度的样例导致的。

11.25(by cyfff)#

开场先花了十多分钟过 T1,二十多分钟过 T2,接着思考了一会 T3,T4 发现自己不会,于是开始给 T1 打拍子,一拍,WA 了,疯狂改错花了半个小时确定自己的做法完全假了。

这个题可能直到竞赛图缩点相关结论可以秒,但是我断断续续推到快 11 点才编出正确的做法,其实,这个问题抓住主要部分,舍弃次要部分还是容易得到结论的。

接着哪里还有时间写 T3,T4??打了个暴力遗憾离场。

最终得分:100+100+15+20=230,rank 4。

T3 这种题可以用逐步生成解的方式来刻画问题,这种不固定树的形态的题不要太在意树上的信息,可能推出来了也不好维护。

11.26(by cqbz)#

T1 是模板题,直接过了。

T2 发现只需要奇偶分开做就好了,只需要区间加,但是自己花了很久写动态开点线段树,最后被卡常改成离散化,但是明明可以差分啊!?

警示:优先考虑离散化。

T3 很快就发现了组合意义,但是没有想清楚如何树形背包,导致未能通过。

T4 打了暴搜分却遗憾无所得,只因数据点分治写挂了。

最终得分:100+100+0+0=200,rank 15。

11.27(by qdez)#

T1 是简单的,但是有个小细节调了 40mins???遇到问题优先丁真!!!

T2 想了一下和之前模拟赛的一个题很像,套用了类似的结论便通过了。

中间思考了一下 T3 和 T4,以为会了 T4 的 50 分,写完才发现假了。

于是转而思考 T3,先确定了两个方向:容斥和递推,容斥做法在思考了许久后未能突破,转而思考递推做法,我很快得到了一个 n3 的递推,但是把一步转移换成多步就直接能推出正解了啊!!!

最终得分:100+100+20+10=230,rank 11。

作者:紊莫

出处:https://www.cnblogs.com/wenmoor/p/18438001

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

posted @   紊莫  阅读(25)  评论(1编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示
more_horiz
keyboard_arrow_up light_mode palette
选择主题
menu