2025.9 模拟赛日志
2025.9 模拟赛日志
- 2025.9 模拟赛日志
- 25noip十连测day1(20250831)
- 25省选内训day1 & 23省选十连测 day10(20250903)
- 2025/09/04NOIP模拟赛(20250904)
- 20250905 杂题选讲(20250905)
- 2025/09/06NOIP模拟赛(20250906)
- 25noip十连测day2(20250908)
- 25省选内训day2 & 23省选十连测 day9(20250910)
- 20250912 杂题选讲(20250912)
- 2025 年广州市中学生数学与科学联赛(信息学)Day1(20250913)
- 2025 年广州市中学生数学与科学联赛(信息学)Day2(20250914)
- 25省选内训day3 & 23 省选十连测 day8(20250917)
- 2025/09/18CSP-S 模拟赛(20250918)
- 25noip十连测day4(20250922)
- 2025/09/24NOIP模拟赛(因为台风,比赛推迟一天)(20250924)
- 20250926 杂题选讲(20250926)
- 2025/09/27NOIP 模拟赛(20250927)
- AtCoder Grand Contest 073(20250928)
25noip十连测day1(20250831)
供题人:冯政玮
- [A 调配] 简单背包
- [B 运输 / SS241107A] 模拟最短路
- [C 考试] 多项式积分计算概率,带删除的背包
- [D 网络管理 / SS241107D] 2D 矩形加矩形求和,KDT 裸题;或根号重构长剖维护
没有参加!前三个题想了一下都会了,也自己写了一遍。T4 懒得再写一遍了。
25省选内训day1 & 23省选十连测 day10(20250903)
- [A 记得对拍] 贪心,简化问题用反悔贪心解决
- [B 三好学生] 典型的高维背包 dp
- [C 括号序列] 括号序列,找结论,线段树维护括号折线
\(25+80+50=155\)。没有挂分。
第一题:推到了“结论:存在最优解,如果数字x存在一个位置是对拍的,那么x在原序列是一个区间。”这一步,意识到了“如果认为初始将所有相等数并在一起,且从小到大排序”且需要拆一些连续段为单点插到连续段之间以增加答案。卡在了算不清楚答案贡献上。知道如何算答案贡献后,就发现只需要关心当前有多少个连续段之间的空位,答案只和完全拆掉的段数有关(当时感觉段可以不完全拆开,想不清楚)。后面就是不太算反悔贪心的反悔贪心。
第二题:做了一个 \(O(n^4k)\) 的做法,主要卡在了对 \(\max T\) 的限制上。感觉限制和转移太多,模糊了视野;也不敢往下优化,担心正解不在这条路上;而且已经有 80 分了(虽然但是最后所有人都过了)。完全写成形式化语言之后,就立即发现它的退背包本质。
第三题:读错题。最后紧急改了一下,写了个简单的暴力 dp。由于读错题,不够时间做。本题的结论一“好的子序列长度为n”非常重要,但是也没有发现(就感觉感受到了什么,但是说不出来)。另外由于本题没有样例,读错题没发现,也没有手动模拟一些小样例,啥都看不出来。
本题的几个关键点是:1. 子序列的长度是 \(n\);2. 子序列的方案数不是指数级的,是 \(O(n)\) 的,到这里可以进一步观察具体方案。由于本题没有样例(/fn),所以一个稍微正确一点的解题思路是,打表一定长度的所有合法括号序列对应的子序列信息,也就是自己造一点样例。沈大神自称打表了 \(n=5\) 的所有合法括号序列(有 \(Catalan(5)=42\) 个)然后看出来了结论。明确结论之后的部分是很套路的。
问题总结:由于整场比赛三个题都是结论题(第二题好像不算是),且没有样例,所以当务之急是写一个最简单的暴力,然后造出小样例(严重一点可以考虑造出特定范围内所有小样例),再开始手模推理。这样能保证正确性,也不需要手动构造最优的方案,而可以让计算机进行构造。
还有一个问题就是预设题目难度,把第三题想的太恐怖(实际上第三题可以是最简单的)。发现第一题很难之后应当推测题目不是按照难度排序的,可能出现“第一题最难”的情况。
2025/09/04NOIP模拟赛(20250904)
- [A 飞羽疾电] 二分 bfs
- [B 玩游戏] 数论,中位数,组合数和式优化
- [C 仪式感] 数论,选出最小的集合使它们的 \(\gcd=1\),枚举答案做莫反
- [D 摩拉克斯] 树的动态带权重心的一个简化问题
\(0(100)+100+20(?)+30=150(330)\)。T1 空间开小了,而且 bfs 部分也写错了(写的做法不是二分 bfs),因为没测过大样例。T2 又是中位数题,这次做出来了。T3 随便猜了个贪心,过了大样例就不管了。T4 就是不会,没学过。
T3 的问题是,这是一个理应用舞蹈链算法解决的“重复覆盖问题”(或者有可能是“精确覆盖问题”),也就是 NPC 问题,直接贪心没有利用到任何性质,一定是错的。
现在搞出了
- “题目有大样例 \(\implies\) 完全相信大样例”
- “题目没有大样例,只有一个小样例 \(\implies\) 不造大样例,只造小样例”
- “题目没有大样例,只有一个小样例 \(\implies\) 不造新样例,手模困难,做不出来”
三种情况同时出现的奇观。应该如何对待样例的存在?我问我自己。
20250905 杂题选讲(20250905)
20250905 杂题选讲 - Virtual Judge(广东实验中学)
剩余:ABCD
2025/09/06NOIP模拟赛(20250906)
- [A 字符串] 贪心,dp
- [B 球球] 组合计数,状压 dp,高精度
- [C 树] 树形背包复杂度分析
- [D 图] 生成树,点双,“给定序列 \(w\),求有多少序列 \(b_i\leq w_i\) 满足异或和 \(=z\)”这一经典问题的带修版本。
\(100+100+65+88=353\)(第四题有评测机波动的影响)。前两题做的很快,感觉第二题出的很无聊。第三题是树形背包,忘了“限制背包大小为 \(m\),单点物品体积 \(\leq 1\) 时,树形背包复杂度为 \(O(n\min(m, n))\)”这回事了,感觉有点唐,实际上很简单。第四题很容易把原题拆到序列上,之后用到了 P10104 GDKOI2023 提高组 异或图 - 洛谷一样的数位 dp 技巧进行计算,由于它带修,所以需要一个逆元,当时验证转移矩阵是否有逆元时输入错了,以为没有逆元,写了线段树,唐完了!除此之外,一开始不带修版本写数位 dp 的转移时搞错了,调了很久,浪费了很多时间!最后也是擦着比赛结束的时间调完并得分。
用 numpy 对矩阵求逆:
import numpy as np
a = np.matrix([[2, 5], [5, 2]])
np.linalg.inv(a)
"""
matrix([[-0.0952381 , 0.23809524],
[ 0.23809524, -0.0952381 ]])
"""
矩阵没有逆时会报错,感觉很方便。
25noip十连测day2(20250908)
- [A Angel] 异或和,贪心
- [B Bunny] 贪心,dp
- [C Cat] 观察结构,贪心,打表
- D Demon 图计数
没有参加。参加了就是 \(100+100+30+0=230\) 分。前两题都是贪心,想了一下就会了,感觉有进步啊。第三题做到 30 分,后面的一直卡住做不动,感觉有点人机。果然是人机啊,\(30\to45\) 直接比较就行了,写了就有分,不知道在想什么。
题解说 30 分之后“感觉就比较简单/套路了”“15pts到30pts这部分需要一些脑子,后面的东西比较堆代码难度,不过好在前面一部分看起来也不是非常难,作为NOIP模拟赛T3肯定是给大家送温暖的存在”。哇,后面的部分竟然是打表出来的!已气死。虽然确实有直接推导的做法,但是感觉有点马后炮。
第四题太难了。感觉完全不知道怎么做。主要还是 \(+C\) 的部分卡在那里,实际上我们可以用手段回避掉这一部分。另外就是没有意识到 \(T=1\) 的可做性,\(T=1\) 没有涉及到我搞不定的 \(+C\) 的情况,所以其实是可以做的。
25省选内训day2 & 23省选十连测 day9(20250910)
- [A 三角形] 平面最近点对的扩展
- [B 分割] 二分贪心倍增 SAM
- [C 最大权独立集问题] 二进制、从高位到低位贪心
【模板】平面最近点对 - caijianhong - 博客园
\(30+100+35(40)=165(170)\)。这还能挂分?不知道怎么挂的分,还好不是太严重。
今天也是不会做啊。T2 识别出来是一个套路题(呃,就是刚好见过了,对应了两个之前做过的题),几乎是秒杀的。
T1 由于没有认真学平面最近点对,导致这方面的科技都没搬上来。隐约感觉到了平面最近点对的影子,但是由于之前学的时候没学复杂度分析,就坠机了,还以为那些算法是期望复杂度的。
T3 想出来 \(n=2\) 的部分分其实很不错了。后面的部分竟然是贪心+调整法构造策略,感觉不知道怎么想出来,有人教我吗?场上猜测了 1. 每一位上只有一个数变化(毕竟最优解显然不超过 \(2^m-1\),很难不猜测);2. 数字变化之后底下会变成全零或全一(这个结论原来是服务于 \(n=2\) 的,做完 \(n=2\) 发现没用上,就忘掉了)。虽然知道这些,但是不知道怎么选出哪一位变化,感觉对下面位的影响特别大。最后题解的结论是“选择代价最小的”,暂时没理解。Update:证明是这样的,先转化为最高位全零的情况,假如选择将 \(a\) 升到 \(a^{m-1}\),代价最小的那个是 \(b\),那么 \(a<b\),将 \(a\) 升上去可以看作将 \(a\) 升到 \(b\),再将 \(b\) 升到 \(2^{m-1}\),也达到了一样的效果,而且这样就可以看出 \(a\) 的变化不影响最高位,于是可以撤销,留给以后考虑,这样就证完了。
20250912 杂题选讲(20250912)
20250912 杂题选讲 - Virtual Judge(广州市铁一中学)
剩余:J
自己做出来的:ABFHI
- 题解:P3546 POI 2012 PRE-Prefixuffix - caijianhong - 博客园
- 题解:AGC023F 01 on Tree / SS230909A 数据恢复 - caijianhong - 博客园 这个题我真是服了,做过想不起来,现在完全不会做!
2025 年广州市中学生数学与科学联赛(信息学)Day1(20250913)
- [A 前缀最小值] 不等式、差分、离散化
- [B 子序列与计数] bitset 优化背包,
_Find_first - *[C 魔力网络 2] 平衡树维护树剖重链
- *[D 最长上升子序列] 计数、随机排列的最长上升子序列长度期望为 \(2\sqrt n\),剪枝,暴力状压 DP、高位前缀和
\(100+100+44(40)+0=244(240)\)。T2 没想到正解,暴力卡常卡好久过了,浪费一堆时间。T3 感觉就不敢做,因为它至少不会简单于 LCT,怎么能出现在 NOIP 模拟赛里面。没想到竟然有这么难绷的东西。T4 也是不敢做吗?还是不够时间做?不知道赛场上怎么想的,是不是预设了 T3 会比 T4 简单,是不是应该要会的。
2025 年广州市中学生数学与科学联赛(信息学)Day2(20250914)
- [A jump] 签到题
- *[B rev] 计数 DP、子序列自动机
- [C xor] 异或最小值,01 Trie 上简单 DP
- [D rail] 虚树 DP
\(100+75(100)+100+100=375(400)\)。题目中文名忘了。T2 好像是因为特判 \(m=1\) 错了导致爆炸。题目都有点无聊说是,四个小时就做完了,调 T4 有点久。
25省选内训day3 & 23 省选十连测 day8(20250917)
- [A Koxia的三维空间] 四维偏序,三维树状数组
- [B Koxia's tree] 静态树链矩阵积查询,改成向量乘
- [C Koxia's Galgame] 短链剖分+卷积优化 dp
\(100+30+100=230\)。T1 对着题目性质,用类似根号分治的思想搞了个纯粹暴力,过了。T2 转化成矩阵积后忘了向量乘矩阵这个事情,宕机了,以为有逆元结果没有,自闭了。T3 感觉做下来一气呵成,反而算复杂度不会算,直接盲猜卷积就过了,赛后看题解才想清楚复杂度证明。感觉这场做的很顺,是简单了吗?
2025/09/18CSP-S 模拟赛(20250918)
- [A 子树] 期望的定义
- [B K 小数] 二分树状数组求 k-th
- [C 排列] 计数,组合数学,高精度
- [D 多娜多娜] 高维 dp,压缩有效状态
第四题原题链接:2021牛客暑期多校训练营8 B Dohna Dohna
\(100+100+100+10(100)=310(400)\)。前两题很简单。第三题想了一下就会了,很快啊。但是要写高精度,绷不住了,又写一遍压 32 位高精度。第四题很难绷,想了一下,感觉随便做,没有样例就不管了,当作比赛结束。然后找到牛客原题,交上去挂了,然后一直调,调了很久,也没调出来,最后就过 60% 的数据,就没有时间了。最后发现漏了一种情况没有讨论。
25noip十连测day4(20250922)
- [A 黑板] 简单的证明
- [B 排列] \(x=\sum_{i>0}[i\leq x]\),背包计数,算状态数
- [C 团建] 区间分组,贪心、dp
- [D 最长上升子序列] wqs 二分类型的 dp,但是求出整个凸函数,根号分治(可以用整体二分实现·)
没有参加,参加了就是 \(100+100+100+100=400\)。后三个题都是一个类型的不同套路没绷住。感觉前三题好简单。第四题很自然就发现斜率种类不超过根号,直接暴力做就能过(实则复杂度可以证明是正确的)。
2025/09/24NOIP模拟赛(因为台风,比赛推迟一天)(20250924)
- [A 蛋神的邀请 / CF1746F] 随机化哈希
- [B 信徒的座位 / P7688] DP、贪心、模拟;或者暴力 wqs 二分
- [C 虔诚的演说 / CF1726G] 组合数学推导
- [D 拜蛋的阴谋 / CF1712F] 长剖,增加答案法
\(100+0+0+0=100\)。没有参加比赛。
增加答案法:如果答案的值域有限,我们可以维护答案 \(ans\),并不断询问真正的答案是否有可能 \(=ans+1\),从而一直增加答案。该方法对答案的单调性有一定要求。
20250926 杂题选讲(20250926)
20250926 杂题选讲 - Virtual Judge(重庆市第八中学校)
剩余:已完成
自己做出来的:HABDIF
- 题解:P13350 遗传 - caijianhong - 博客园
- 题解:UOJ187 【UR 13】Ernd - caijianhong - 博客园
- 题解:accoders::NOI 5519 虚树 / P12462 Ynoi Easy Round 2018 星野爱久爱海 - caijianhong - 博客园
2025/09/27NOIP 模拟赛(20250927)
- [A 海底列车(collapse)] 树的构造问题,猜测充要条件,逐个匹配或确定等价类代表元
- [B 夏灯朦胧(ending)] 大型状压 DP,组合计数思想
- [C 于凋亡季节中的我们(season)] 线段树,单调分段函数复合
- [D 非自然死亡(lemon)] 平面图转对偶图,判断点是否在环中,异或哈希
\(1+42+0+0=43\)。T2 结束后十分钟过了。T1 代表元找错了,崩溃(collapse)了。T3、T4 没有做。
T2 就是有一点难写,要想得很清楚。
T1 结束之后发现有一个 20 分的部分分没有写,明明已经会了,有点人机。代表元的思路是可以做的,重点就是无视树形态,用度数序列构造出相同的树。
T3 没有那么难,赛时除了因为前两题卡住之外,因为这个题是著名原题加强(PKUSC2024 排队的强制在线版),一时间还不敢做(现在我觉得这样的想法确实是很危险的)。
T4 读完题之后就没有思考过了。T4 用对偶图维护连通性,把原图的删边变成对偶图的加边,用并查集维护,还是太有操作了。需要判断是否所有点都在同一个环中,做法是从每个点引出一条无限长的线(什么线都可以,折线也可以),如果一个点经过环的次数是奇数,说明点在环中。那么所有点都在同一个环中就等价于所有环被点经过的次数全都是 1 或 0,使用异或哈希解决。这个题可以说是从 P10665 AMPPZ2013 Bytehattan - 洛谷 加强而来的。
AtCoder Grand Contest 073(20250928)
- [A Chords and Checkered] 找规律(?),组合数学
- [B Cyclic Jump] 类欧几里得算法(???)
- [C Product of Max of Sum of Subtree] 树上包含每个点的最大权值和连通块;连续的概率与期望,转成离散情况考虑,再转回去
- *[D Four Jewels] (忽略)
\(700+0+0+0=700\),过了第一题。
第一题就是感觉画了一些情况之后猜出来,刚好猜到了。
第二题就很神秘。\(n=2\) 的情况 \(a_1+a_2-\gcd(a_1, a_2)\) 会了,不知道怎么推广。到底是出于什么考虑把 \(f(a_1, a_2, a_3, \cdots, a_n)\) 和 \(a_1+f(a_1, a_2-a_1, a_3-a_1, \cdots, a_n-a_1)\) 联系起来呢?先想到左推右(对 \(a_1\) 的处理可能有一点难?),然后发现右推左成立,就试出来了。后面就真的是“类欧几里得算法”了。
第三题,很重要的想法就是连续转离散,这主要是因为连续的东西太难了。例如在区间中 \([l,r]\) 随机取一个实数,就认为是有一个正整数 \(M\),变成从区间 \([lM, rM]\) 中取一个随机整数,然后讨论这个问题,最后再把 \(M\) 趋于正无穷,改回连续的情况(这个步骤的一个不严谨表述是全部除以 \(M\) 后把所有 \(1/M\) 删掉)。后面就是对着题目要求做了。
都是谁在出这样的题目?
本文来自博客园,作者:caijianhong,转载请注明原文链接:https://www.cnblogs.com/caijianhong/p/19068976/contests-in-202509
浙公网安备 33010602011771号