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

2025/11/02 LGNOIpR22

T1

简化题意

求最长的可以整除字符串长度的循环节,然后加上 \((m-1)\times n\)\(n\) 是字符串长度。

sol

kmp,然后判断一下就行,时间复杂度 \(O(Tn)\)

T2

简化题意

删除一些行、列上的数,求最后是否可以使得剩下的数之和是 \(s\)

sol

考虑折半搜索,暴力枚举删除的行,然后枚举一遍左半部分要删除的列并记录,再枚举右半部分要删除的列,检查在左半边是否有与它和为 \(s\) 的情况。

时间复杂度 \(O(2^{h+\frac{w}{2}})\)

T3

不简化题意

你有一个玩具,玩具里面有 \(n\) 个槽,编号 \(1\)\(n\),每个槽可以容纳一个小球,槽之间形成一棵有根二叉树。根在最上方,叶子在最下方,根固定为 \(1\) 号。

现在你要往玩具里的某些槽位放球,球被放入之后会自动向叶子方向下落。具体来说,一个球在树上的下落规则是:

  • 如果当前位置是叶子或者所有儿子上都有球,则停止下落。
  • 如果恰有一个空儿子,则落到那个空儿子上。
  • 如果有两个空儿子,且球不是从更上层落下来的,则会在两个儿子上等概率随机选一个下落。
  • 如果有两个空儿子,且球是从上一层落下来的,则球会落到和当前下落方向相同的儿子上。(也就是说,如果当前位置是上一层的左儿子,那么就还是落到左儿子;如果当前位置是上一层的右儿子,那么就还是落到右儿子。)

一个球被放入之后会一直下落直到当前位置是叶子或者所有儿子上都有球为止。

现在你有 \(k\) 个球,其中第 \(i\) 个球必须放进 \(p_i\) 号槽,且你每次放置一个球后必须等待停止下落后才能放下一个,但你可以任意决定这 \(k\) 个球的放入顺序。如果放 \(i\) 号球的时候 \(p_i\) 号槽已经有球了,那么就不能放了。

问:在所有 \(k\) 个球都能成功放入的前提条件下,有多少种可能的不同的最终结果。答案对 \(10^9+7\) 取模。

两个最终结果不同当且仅当所有球全部放入和下落完毕后,存在一个槽位上球的有无或者编号不同。

sol

30pts(链)

考虑对一个位置计算有多少放球方案能放深度大于它的球的方案书,乘法原理。

T4

简化题意

给定一棵树,把树划分为几个连通块,对于一个连通块,其权值为连通块内的非严格次大值,求划分后的最大权值和。

sol

20pts(链)

退化为线性 DP,单调栈维护一下就行。

http://www.jsqmd.com/news/35979/

相关文章:

  • locked ambition
  • NOIP2025模拟4
  • 【前端知识】npm依赖升级以及冲突解决 - 详解
  • 完整教程:详细介绍C++中捕获异常类型的方式有哪些,分别用于哪些情形,哪些异常捕获可用于通过OLE操作excel异常
  • jmeter基础测试1
  • 网页中的三次握手,四次挥手
  • 设计驱动开发实战
  • Linux - 11 Shell(脚本、变量、条件判断)
  • pythontip 字符串转列表
  • 双亲委派模型?就是【Java开发日记】请介绍类加载过程,什么
  • #20232408 2025-2026-1 《网络与系统攻防技术》实验四实验报告 - 20232408
  • 2025.11.10~2025.11.16
  • 性能学习
  • npm: 无法加载文件
  • NOIP 模拟赛 4 总结
  • Python中a = b = 10的底层机制:从名字绑定到引用计数的完整拆解
  • Python中“赋值”说法是否规范?详解`=`的语句属性与无返回值特性
  • 洛谷 P14461 【MX-S10-T2】『FeOI-4』青年晚报
  • Microsoft Agent Framework 接入DeepSeek的优雅姿势
  • 详细介绍:C语言——深入解析C语言指针:从基础到实践从入门到精通(二)
  • 深入解析:k8s学习(二)——kubernetes整体架构及组件解析
  • 2025.11.9博客
  • 硬件基础知识和典型应用-4G模组供电设计推荐
  • 计算机课程在线视频 —— 王道计算机考研 计算机网络
  • 案例研究
  • 深入解析:归档及压缩、重定向与管道操作和综合使用,find精确查找、find处理查找结果、vim高级使用、vimdiff多文件使用
  • 高雅 - Gon
  • AI 测试 智能体30节课
  • BUUCTF-wustctf2020_getshell_2
  • P14359 [CSP-J 2025] 异或和 / xor(官方数据)