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

2025.10.14 正睿二十连测

正睿二十连测

B

赛场上花了 \(40min\) 写了个暴力。赛后看题解 \(20min\) + 写 \(30min\)

有多少个长度为 \(n\) 排列,使得 \(x(n - x + 1) \le m\)\(x\)\(n\) 的位置),答案对 \(p\) 取模。

\(f_n\) 表示长度为 \(n\) 的,满足条件的数量。枚举 \(n\) 的位置 \(i\),两边互不干扰且答案只与相对大小有关。可以列出转移:

\[f_n = \sum\limits_{i = 1}^n C_{n - 1}^{i - 1}f_{i - 1}f_{n - i}[i(n - i + 1) \le m] \]

暴力转移可以拿到 \(56pts\)


考虑优化!首先,若不考虑 \(x(n - x + 1) \le m\) 这个条件,\(f_n = n!\)

因为 \(f_{i - 1}, f_{n - i}\) 对称,不妨设 \(i - 1 \le n - i\)。观察一下转移,若 \(i(n - i + 1) \le m\) 都成立了,实际上对于 \(n = i - 1\) 是显然满足 \(x(n - x + 1) \le m\) 的,即 \(f_{i - 1} = (i - 1)!\)

那么转移就变成了 \(\sum\limits_{i = 1}^n (i - 1)!C_{n - 1}^{i - 1}f_{n - i}[i(n - i + 1) \le m] = (n - 1)!\sum\limits_{i = 1}^n [i(n - i + 1) \le m]\frac{f_{n - i}}{(n - i)!}\)

注意到满足 \(i \le n - i + 1\)\(i(n - i + 1) \le m\)\(i\) 是一段前缀,直接利用前缀和进行转移即可。

时间复杂度:\(O(n)\)

这个题难点在于转移的式子比较复杂,不好优化。发现 \(f_{i - 1}\) 一定是 \((i - 1)!\) 这个极其重要的性质后,转移简单了很多,使用前缀和优化即可。可惜没有找到这个性质。

http://www.rkmt.cn/news/21122.html

相关文章:

  • singleton_pattern
  • Python的Numpy、Pandas和Matplotlib(随笔)
  • CF2146E
  • 【博客导航】
  • 部署向量数据库milvus
  • 实验一:现代C++初体验
  • 软件工程学习日志2025.10.14
  • CSP-S模拟31 笔记
  • java基础7-字符串
  • 乐云具身活动体验
  • 10.14 闲话:KTT
  • 汽车价格战全面熄火了?不卷价格该卷什么? - 教程
  • 详细介绍:并发编程原理与实战(三十三)AQS框架下手写简易可重入锁的实战解析
  • U-Boot启动探秘:从汇编到命令行的奇幻之旅 - 指南
  • 两数相加-leetcode
  • 线程共享区域
  • 运行时数据区
  • AI4S Cup学习赛 - 超导体临界温度预测
  • Linux之线程池 - 指南
  • 5G x 工业应用:探索德承工控机在5G工业应用中所扮演的关键角色 - 实践
  • 背叛 仇恨 消极 如刀子刺穿了铁心 嘲笑 嗤之以鼻 漠然后只剩下孤寂
  • 【论文复现上新】AAAI2025!北理工团队提出FBRT-YOLO:面向实时航拍图像更快更好的目标检测 |计算机视觉|目标检测
  • 亚马逊因暗黑模式订阅设计支付25亿美元和解金
  • 2025年排烟风机厂家推荐榜:混流风机|管道风机|排烟风机|离心风机|轴流风机|轴流风机厂家,专注高效消防与节能,助力多行业绿色升级
  • 详细介绍:iCloud照片共享:在家庭内外分享iCloud照片
  • 对static新的认识
  • Excel - lookup()
  • 2025 佛山铝合金/系统/断桥铝/耐用/推拉/封阳台/别墅/静音门窗厂家品牌实力推荐:聚焦技术与服务的五大优选标杆
  • 说说新版畅联云的一些重要约定
  • App.vue(完整可运行示例)