当前位置: 首页 > 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.rkmt.cn/news/11884.html

相关文章:

  • 【C语言】C语言预处理详解,从基础到进阶的全面讲解 - 指南
  • 掌握C2重定向器:红蓝队攻防实战指南
  • Avalonia:开发Android应用
  • 多GPU本地布署Wan2.2-T2V-A14B文本转视频模型 - yi
  • 软工9.25
  • P8367 [LNOI2022] 盒
  • Polar2025秋季个人挑战赛web-writeup
  • 通过【开题答辩过程】以《基于JavaEE的创意产品众筹平台的设计与实现》为例,不会开题答辩的能够进来看看
  • 如何在CentOS 7上安装bzip2-1.0.6-13.el7.x86_64.rpm RPM包(详细步骤)
  • 2025年Java常见面试题
  • 实用指南:k8s 跟 nacos 关于服务注册以及服务发现
  • AT_agc021_d [AGC021D] Reversed LCS
  • adb shell 常用文件命令
  • 你所不知道的Spring的@Autowired实现细节
  • Java文件编程
  • 苏联的经典数学教材
  • redis实现分布式锁1
  • 深入解析:SQL 字符串函数高频考点:LIKE 和 SUBSTRING 的区别
  • Etcd详解:Kubernetes的大脑与记忆库 - 实践
  • go 语法里变量前面增加、*区别
  • 20250922_QQ_backdoor
  • 卓伊凡的第一款独立游戏-unity安装运行设置以及熟悉整体unity游戏开发和unity editor【02】-优雅草卓伊凡
  • 9.24(补)
  • 亚马逊与AWS如何通过漏洞赏金计划构建深度安全防御
  • 详细介绍:锚定效应(解释+类型区分+商业及生活应用+如何避免)
  • 【JavaEE】SpringIoC与SpringDI - 详解
  • 24.Linux硬盘分区管理 - 详解
  • CCF CSP-J 2025_from_黄老师_km
  • AI一周资讯 250918-250925
  • SQL注入-联合注入