当前位置: 首页 > news >正文

?模拟赛(2) 赛后总结

和昨天一样的 CCDD 。

如果说昨天的三个小时很充实的话,那今天的三个小时可以说是相当空虚了,因为什么也不会。

题目在这里!


A 鲁的要塞

去年做过,比今年还高 30 ,我真的要回去上 whk 了。

指挥中心的坐标一定是取 \(n\) 个要塞的坐标凑成,但不一定来自一个要塞(我因为忘了这一点挂了 70 )。所以两层循环枚举指挥中心的坐标,再将要塞按照与指挥中心坐标的曼哈顿距离从小到大排序,依次枚举取几个要塞,答案取最小值即可。


B gcd

写了个略带优化的暴力,试过可以通过 \(n<=8 \times 10^4\) 的数据,还以为可以多骗两个点的分呢。思路是设 \(c=gcd(a,b)=a \oplus b\) ,然后去枚举 \(c\) ,再找符合条件的 \((a,b)\) 数对(显然 \(a=b\) 时无解,故钦定 \(a>b\) )。对 \(c\) 二进制所有为 \(0\) 的位,\(a\)\(b\) 一定是相同的,\(c\) 该位为 \(1\) 的时候二者就不同,这样构造出来后再检查它们的最大公约数是否与 \(c\) 相等。

正解也是枚举 \(c\) .但首先要明确有关 \(a\)\(b\) 的两个结论:

  1. \(gcd(a,b) \le a-b\) .
  2. \(a \oplus b \ge a-b\) .

对结论 1 证明:设 \(c=gcd(a,b)\) , \(c\)\(a\)\(b\) 的公因数,则有 \(a=k_1 \times c,b=k_2 \times c,a-b=(k_1-k_2) \times c\)\(k_1,k_2\) 是正整数). 又因为 \(a>b\) ,所以 \(k_1>k_2\) . \(k_1,k_2\) 是正整数,则 \(k_1-k_2>=1\) .那么就有 \(c \le (k_1-k_2) \times c\) . 代入得 \(c \le a-b\) .

至于结论 2 的话我还不是很理解,暂且先记下来。

有了这两个结论,就可以得出当 \(c=gcd(a,b)=a \oplus b\) 时,\(c=a-b\) .

这样之后就可以从 \(1\)\(n\) 来枚举 \(c\) , 然后枚举 \(c\) 的倍数 \(a\) ,就可以求出 \(b\) 来,按照题意检查之后统计答案即可。复杂度为 \(\mathcal{O}(n \times \log{n})\) .


C 能源晶体

高一两个学弟都做出来了,一代更比一代强吗,我更觉得自己该回去上 whk 了。TT

写了个 dfs ,加了一些剪枝,比暴力 DP 还要快。因为 \(k\) 个能量储存仓是没有区别的,所以分配晶体时可以保证每个储存仓的晶体数量非严格递增。并且每分配完一个位置,就要看看在后面尽可能少分配的情况下(也就是都分配和它一样的数量),剩余的晶体是否足够,否则就返回。

题解说和第二类斯特林数有点相似,第一次听说去学了一下,一开始还真觉得就是它,但是思考了很久感觉实际上关联性并不大啊。第二类斯特林数是求将 \(n\) 个元素划分为 \(k\) 个集合的方案数,集合内的元素之间是有区别的;而这道题是求将 \(n\) 分解为 \(k\) 个无序正整数之和的方案数,集合的属性只关注其和。

举个例子。当 \(n=3,k=2\) 时,前者有 \(3\) 种方案,分别取两个元素在一个集合。而后者所求的方案数只有一种,那就是 \(1+2\) .

使用递推求解。令 \(f_{i,j}\) 表示前 \(i\) 个数划分为 \(j\) 个集合的方案数,将方案分为含 \(1\) 的和不含 \(1\) 的,就有转移方程式: \(f_{i,j}=f_{i-1,j-1}+f_{i-j,j}\) ,注意第二种转移在已划分数量小于集合数量的时候是不成立的。


D 逆序对

不会。这是 J 组的吗,还是我 DP 学得太烂乐。


学校食堂为什么不卖玉米肠了。我要哭了。

http://www.hskmm.com/?act=detail&tid=17382

相关文章:

  • 日总结 8
  • 完整教程:讲一下ZooKeeper的持久化机制
  • 2025.9.25 sos dp小记
  • 英语_阅读_A farmer dream_待读
  • docker 私有仓库 harbor
  • vite+ts取别名@
  • 掌握C2重定向器:红蓝队攻防实战指南
  • 2025秋_3
  • day004
  • 软件测试团队准备解散了......
  • 2025秋_4
  • 【STM32H7】从零开始搭建的HAL库工程模板(基于CubeMX)
  • 重生之从零开始的神经网络算法学习之路 —— 第八篇 大型数据集与复杂模型的 GPU 训练实践
  • Avalonia:开发Android应用
  • MIT s6.828环境搭建
  • kubernetes事件监控工具--Kube-Event
  • 实用指南:【 GUI自动化测试】GUI自动化测试(一) 环境安装与测试
  • 喵喵大王の新日记
  • 多GPU本地布署Wan2.2-T2V-A14B文本转视频模型 - yi
  • NOI 模拟赛五
  • 什么是Delphi4Python?
  • 实用指南:Python的大杀器:Jupyter Notebook处理.ipynb文件
  • flask认证机制logging模块实战
  • 25.9.25随笔联考总结
  • 软工9.25
  • 2025/9/25 模拟赛总结
  • 代码随想录算法训练营第九天 |151.翻转字符串里的单词、 LCR 182. 动态口令、28. 实现 strStr()、459.重复的子字符串
  • 当日总结(课后作业2)
  • Codeforces Global Round 29 (Div. 1 + Div. 2) A~E
  • AI 低代码平台:不止于 “快”,解码技术融合的深层逻辑