- 模拟赛3
模拟赛3总结
- @ 2026-8-19 11:54:20
总结以评论形式发出
11 条评论
-
user6 LV 9 @ 2026-8-19 16:33:34
Day3 总结
Part.1 赛时历程
依旧扫视所有题目,确定大概难度,发现 十分眼熟。
顺序开题。
思考了一会,选择打表找规律,发现可以从差值入手,又重新打了一个表,发现直接打表会超出代码长度限制。 然后观察答案,注意到答案都为差值的倍数,然后就直接使用调和级数写完了。
(一直寻找 O(n) 做法没找到)(时间 )直接想,没得到结果,观察到提示中有 “出现数字种类数 ≤ 100” 和 "每个数字出现次数 ≤ 2"。然后就隐约知道需要分治。考虑从容斥的角度考虑,事实上我推出了题解中的式子 $f(i) = C_{x_i + y_i - 2}^{x_i - 1} - \sum_{j = 1}^{i - 1}[x_j \leq x_i \cup y_j \leq y_i](f(j) \times C_{x_i + y_i - x_j - y_j}^{x_i - x_j})$,但是觉得时间复杂度太大,放弃了。
随后推测根据种类数根号分治,发现时间复杂度不对,放弃了( 左右)。
在写完 后()再回过头来补充 代码,最终选择写了一个 形式的 草草收场 ()。
在 受挫后,我被迫开始写 ,然后开始推 ,虽然之前不知道在哪里见到过( 杯),但是我已经几乎忘完了。但是还是看到 就直接判断,只用考虑 就行了。
推了一个 指第 个数时,前面总共加了 的方案数。
用滚动数组优化掉,得到了原始的 的 ()。
发现了每次更新只会选最小值或次小值,优化到 ,后面试图套数据结构或者推出矩阵形式,但是都没时间尝试了。(赛后推了一下,感觉不太行)
第一眼感觉是一个树套树来维护二维平面,但是不太对,先交了一个暴力 ,后面感觉维护特别困难,有回去看一看 看能不能在改进一下。
Part.2 赛后总结
估分
实分
大差不差,还是在 上花费了大量时间,距离答案实际就只剩下一个分讨,有点可惜。 的 应该没法继续优化了,基本上走到了死路。
Part.3 改进
可能是对时间的把控还有对 的设计。
一些思路可能有所猜测但是总是差一点。
😄 1 -
@ 2026-8-19 16:16:12前言 “🐘🛏️✈️JDS”总结
棒棒🍭题
有点🍭🍭🍭,想了一会吧,打标没找到啥规律,发现gcd与异或都与差值有关,枚举一下。
🍭🍭题
🍭🍭🍭,赛时写完T1有点晕,想T2时一看到数据范围与部分分就知道是根号分治,结果只写了种类少的,另一个想出容斥DP,但状态有点错,没写。
🍭🍭🍭题
一眼感觉是原题,但忘了是什么时候的题?想到了和第一次见到时一样的思路,但好像错了。发现r>n时的简单做法,但误以为可能改多个,已🍭完!!!
🍭🍭🍭🍭题
打了暴力走了,赛后才发现把为0的点删掉正好是第一个特殊性质,太🍭了,赛时以为没啥优化。😭
得分:100+56+0+25
评价:没挂
餹粉:蔗🍭
👎 2🤣 1🌿 1👀 1🤡 1😕 1 -
@ 2026-8-19 16:02:41
总结:
估分:30+32+20+25,实际:30+16+20+0。T1不会,打表没找到规律,后来一直在想拆位。T2以为就是容斥,但我的想法太不好容斥了。写了相同元素数<=2的,居然挂了(还花了最多的时间)。。。T3,dp一会儿想着部分分写法,一会儿又想正解的限制,思路混乱,最后只写了最低档暴力(比hjj杯还写得烂)。T4数组开小了,Re了。
加强推式子和代码能力。。
-
@ 2026-8-19 15:42:00
30+16+0+70
T1:
不知道和的取值范围
只知道 ^
还推出
如果满足条件 的二进制位数与 的二进制位数 要一样
一定有一个偶数
可以发现对于每个 及其后的一些紧挨着的数字 都有 满足题意
且每个 后跟着的数字个数有规律
只有 个
只有 个
有 个
有 个
有 个
后面的有个
是一个斐波那契数列
但是不怎么能用上这个性质
两个多小时过去了
只能 跑了
读完题 感觉不怎么好写 ,打算先读完题
读完就有点畏惧了,先跑了
这个看着就有意思,暴力有好写,就写了
先写了最最最暴力的 的 这个连最小的测试点都过不了,我想的先写出来再改,这个好改
但是怎么写都是错的
于是就直接写
调了一会调对了
本来回去想写其他题的暴力的
但是一下子就想到了如何优化
就改成了
直接获得
还有
花了写了的 的暴力
还有 没时间了
前期不是很正常
幸好还有个题,才有3位数的分数
我觉得明天还是先花小于将所有题全部读一遍且写完一眼就能看出的暴力
😄 1 -
@ 2026-8-19 15:34:10总结
估分:100+56+75+20 = 251
结局:100+56+75+35 = 266
今天的评测机还是跑得一如既往的快捏
*快速评测机重度依赖
T1
刚开始看到这道题的时候感觉就很奇怪,觉得这个数据范围就是的
然后想了想,想出来一个枚举因数的做法。写了大概20min,结果并没有通过样例
给我气死了,索性直接想正解,打表找规律,找到了 ^_^
以下是我的规律发现:
- 每个的数对都是可行的
- 然后这些数对的有些整数倍数是可行的
- 就对每个枚举倍数,判断可行性
最后是一个调和级数的复杂度
T2
最开始往容斥方面想了一下其实,但是想着想着发现时间复杂度不太优,就没往那方面想了
(但是其实subtask3用容斥非常快啊,为什么我没有使用容斥ne,绝对不是因为我把这个特殊条件看成 "出现数字种类数" 了)
然后就只有老老实实朴素dp得了56pts(悲)
T3
一眼顶针,黑胡椒杯原题(强化版)
效仿当年写了一份代码,加了一个的特判 75pts
不错不错
T4
照着题面20min敲了一份模拟,惊异地发现剩余时间还有两个小时。
于是我毅然决然的进行了一个敲打线段树的行动,妄想以此通过AB特殊点。
结果到了比赛结束还是没有调出来。
终
黄一轩还给我提前结束比赛了,坏孩子打屁股。
感觉比赛策略没有什么大的问题
差不多差不多差不多差不多差不多就写到这了
😄 1 -
@ 2026-8-19 15:29:19比代码源模拟赛难捏。
有点不在状态,这俩天的睡眠时长远小于在西大附中时候的睡眠时长,有点困。
打算慢慢写的,然后 A 第一眼这不是一个找规律题,然后打表找无果,然后浅度思考 +inf seconds 后只想出了个 的捏。然后看 B,我恨 ALL of 格路计数,写了个暴力跑了,不知道为啥后面几个大样例会 RE,应该是栈空间爆了?不知道可能是吧,搜了一下怎么调整栈空间,没学会,没管了。然后撇了一眼 C, 贪心/dp/ds 优化 dp,反正啥都想到了,没啥欲望写,先跳,然后 D,我靠这么长的题面吓哭了,然后细读一下,大数据结构,想了一会觉得没啥性价比然后写了个暴力跑了。
后三道想 + 写挺慢的,基本上就是边写边想 A 了,然后没啥时间了吧。然后总结了一下后三题,dp、ds 优化 dp、Ad-hoc,我靠我咋啥都知道啥都不会,啥都来不及写啊,反正最后开始写 C 没多少时间了,暴力 dp 没调出来,然后糊了个完全没有丝毫正确性的随机化交上去了。
赛时差不多就这样吧,调调生物钟好好休息。
打个表格玩玩。
A B C D Total 估分 60 16 0 25 101 实际 80 40 136 理想 100 56 100 ? 296 -
:我觉得线段树优化 dp 我还是能想出来的叭。
-
:能算 Ad-hoc 吗,反正我应该想不到做法,就算 40 分叭。
不要死磕第一题。
差不多叭感觉上面这句话已经体现出来这场模拟赛的意义惹。
投诉:
- 显示屏色差严重。
- 你给 ?这不 数据范围。
- 怎么还有原。
👎 1😄 1 -
-
@ 2026-8-19 15:28:49
30+16+0+70
T1:
不知道和的取值范围
只知道 ^
还推出
如果满足条件 的二进制位数与 的二进制位数 要一样
一定有一个偶数
可以发现对于每个 及其后的一些紧挨着的数字 都有 满足题意
且每个 后跟着的数字个数有规律
只有 个
只有 个
有 个
有 个
有 个
后面的有个
是一个斐波那契数列
但是不怎么能用上这个性质
两个多小时过去了
只能 跑了
读完题 感觉不怎么好写 ,打算先读完题
读完就有点畏惧了,先跑了
这个看着就有意思,暴力有好写,就写了
先写了最最最暴力的 的 这个连最小的测试点都过不了,我想的先写出来再改,这个好改
但是怎么写都是错的
于是就直接写
调了一会调对了
本来回去想写其他题的暴力的
但是一下子就想到了如何优化
就改成了
直接获得
还有
花了写了的 的暴力
还有 没时间了
前期不是很正常
幸好还有个题,才有3位数的分数
我觉得明天还是先花小于将所有题全部读一遍且写完一眼就能看出的暴力
👎 1😄 1 -
@ 2026-8-19 15:16:39今日总结
感觉还行,预估分数60+16+50+25,实际分数90+16+45+55。
写第一道题时,先打了个暴力,然后看了看数据点发现n的范围比较大,思考了30分钟左右,发现O(nlogn)的复杂度可以,于是开始想做法,经过推导发现答案和因子有关,而通过推导发现GCD=a-b,但是后面时间改为200ms,但是我不知道那能不能过,于是跳了。
第二题,经过我的思考,想不出如何在除了暴力以外的任何方法,在我写完其他题后我把剩下的时间都拿来完成这道题的思考。
第三题,一道HHJ杯的原题改版,先把50分写了,又想了30-60分钟的样子,想不出来,就写第四题了,但是这道题犯了个问题,在初始化时我忘记了计算答案的最大值,DP数组的初值设小了。
最后一道题,读完题后先写了个O(nq)的暴力让后去看了一下数据点,发现特殊数据A,B不好写,但是特殊数据C在我的暴力下很好修改,于是我就去写了特殊点C,写完后就去思考第二题的方法了。
总的来说这次除了第三题初始化写错了,其他的都十分的不错。
🤣 1😄 1 -
@ 2026-8-19 15:16:39总分:40+16+70+0估分:60+72+75+25,T1认为很难也没有发现性质,打了个根号的表以为可以过60分但是只有40分,T2很快会了72,想到了容斥但是似乎神秘的分析出来是指数级的。看特殊性质很像根号分治,但是没想清个数小的如何做,就写了72pts暴力,但是由于没有曲摸没去干净,发现《=2的wa了,但也不是负数,以为是写错了,发现56分过了对应的大样例,只交了56分,结果是样例太水了,挂成了16分,只有差不多1个小时了,发现了一个和正解很像的贪心,和正解dp转移判断条件是一样的,但发现似乎是错了,当时比较慌张就去看部分分了,看特殊性值发现mod>k可以直接贪心,就写了一个75分,但是挂成70分了,T4了,写了一个暴力但是Re了。🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭🍭
👍 2👎 2🤡 2😄 1😕 1❤️ 1🤔 1🤣 1🌿 1🍋 1🕊️ 1👀 1 -
@ 2026-8-19 15:10:57
一般吧。实际分数比预期分数高 分(预期:,,,;实际:,,,)。
先看的 题,简短的题面直接想到找规律(性质)。思考了 分钟决定先把暴力写出来(),再思考大概 分钟没有想出来。
然后去看了 题。题意简单一眼有暴力模拟思路, 分钟写完暴力(当时还不知道是暴力),以为没有问题去跑大数据发现没有输出,排查后发现写的是爆搜 的复杂度级别严重超时。没想到怎么优化,突然觉得 的枚举有优化思路便继续去看 。发现 与异或一些关系后过了样例,交了。
我去看 题。题意而很简单,大概 分钟写完暴力了样例,交。
10:00点左右,我看 题。 题题意很长,我一眼认为是大模拟,没有涉及什么算法。花了一些时间理清题意开始模拟,写完花了 分钟,没过样例。找了 分钟发现写法错误导致逻辑错误(两处错误,要求在线和auto出问题)。 错误的代码:int l,r; cin>>l>>r; l=min((l+sco)%p,(r+sco)%p); r=max((l+sco)%p,(r+sco)%p);//前面修改过的l导致r计算错误 for(auto[x,y,hp,w]:ms){ if(hp<=0)continue; if(l<=x&&x<=r){ hp--; if(hp<=0)sco+=w; } }修改后的:
int _,__; cin>>_>>__; int l=min((_+sco)%p,(__+sco)%p),r=max((_+sco)%p,(__+sco)%p); for(auto&[x,y,hp,w]:ms){ if(hp<=0)continue; if(l<=x&&x<=r){ hp--; if(hp<=0)sco+=w; } }然后过了样例,算出来分数应该是 ,实际运气好了多了 分。
后面的时间再返回看 , 思考其正解
但没想出来。以后应该先理清“在线”逻辑(赋值对后续操作有没有影响之类),再写代码。
🤣 2😄 2👍 1👎 1😕 1🌿 1🤔 1❤️ 1🍋 1🕊️ 1👀 1🤡 1 -
@ 2026-8-19 14:59:24
(30-56-100-0) Problem A: 45 minutes Problem B: 70 minuetes Problem C: 100 minutes problem D: 40 minutes B题知道正解但是认为复杂度太高了没有写 A题没有想到a^b=c -> a^c = b D提没有想到先用一维线段树,再用两个线段树拆半生命值 LOL
👀 3👍 1🤡 1
- 1