[THUPC 2025 决赛] Im Here

news/2025/10/9 19:45:45/文章来源:https://www.cnblogs.com/lalaouyehome/p/19131847

题目给了一刻编号为搜索序的树,我们形式化限制,考察方案序列:

  1. \(u\)\(v\) 的祖先,则 \(u\)\(v\) 后面。
  2. \(i\) 个点只能出现在 \([1,n-i+1]\) 这些位置中。

显然限制一是一个树上拓扑序计数的东西,我们设 \(g(i,j)\) 表示子树 \(i\) 中选 \(j\) 个的方案数可以 \(\mathcal{O}(n^2)\) 合并求得。现在重点考虑限制二,我们发现越往后限制越紧,编号越大限制越紧,于是我们可以发现后缀最大值的限制是更严格的,于是我们可以不用关心其它位置的第二个限制,这么做的好处是使得我们需要考虑的东西是单调的,有利于我们进行 dp。

如果从大到小考虑,那么能成为后缀最大值的数只能是考虑到他时放在最后一个的数。

我们不妨设 \(f(i,j,k)\) 表示填完了前 \(i\) 大的数,填了 \(j\) 个,当前最后一个数在位置 \(k\)。转移有三种,第一种是直接不选,只有 \(i=1\) 时无法转移。第二种是选并成为后缀最大值,此时位置可以是 \([k+1,n-i+1]\),显然它是能够满足限制一的。

第三种有点麻烦,因为我们发现如果不是后缀最大值就可能不满足限制一。但是由于 \(i\) 子树内所有结点编号是一段区间且 \(i\) 最小,而 \(i\) 不在最后一个则子树内都不可能成为后缀最大值,这是我们希望看到的,于是我们直接插入就好了,枚举选的个数 \(l\),那么有

\[f(i,j+l,k)\leftarrow f(i+size_i,j,k)\times g(i,l)\times\binom{k-j}{l} \]

于是做完了,时间复杂度 \(\mathcal{O}(n^4)\)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/933814.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

下好多雨

下好多雨继续hbase 和其他作业

解码Linux基础命令

Linux 基础命令 核心概念:终端、Shell 与内核的关系 Linux 中用户通过终端(Terminal)与系统交互,终端是运行Shell(命令解释器)的窗口,而 Shell 是连接用户与内核(Kernel)的桥梁:内核:系统核心,管理 CPU、内…

戴尔电脑开机出现supportassist怎么办_戴尔电脑开机出现supportassist多种解决优秀的方法

戴尔电脑开机出现supportassist怎么办_戴尔电脑开机出现supportassist多种解决优秀的方法2025-10-09 19:36 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important…

基于 C++ 的高雷诺数湍流直接数值模拟求解器设计与性能优化 - 实践

基于 C++ 的高雷诺数湍流直接数值模拟求解器设计与性能优化 - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "…

项目经理常见面试题7:作为项目经理,你如何协调项目中不同角色(构建、测试、产品)的矛盾?

项目经理常见面试题7:作为项目经理,你如何协调项目中不同角色(构建、测试、产品)的矛盾?pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !impo…

由等概率(a,b)生成等概率(c,d)

问题描述:有一个函数,可以等概率的生成x∈(a,b),如何编写函数生成x∈(c,d) 举例f函数可以生成[1,5],生成[1,7]1 public static int f() { 2 return (int) (Math.random() * 5) + 1; 3 } 解题思路:通过f()改造成等…

是时候使用NanoID取代UUID了

是时候使用NanoID取代UUID了是时候使用NanoID取代UUID了付国强兴趣是一个人成功的基石​关注他5 人赞同了该文章 UUID是软件开发中最常用的通用标识符之一。然而,在过去的几年里,其他替代品挑战了它的存在。其中,N…

经营分析会 - 智慧园区

很多公司的经营分析会,最终都变成了“数据的狂欢,行动的荒漠”。报表一页页翻,指标一个个念,大家口干舌燥,却还是不知道问题到底出在哪、该怎么办。问题的根源其实很简单: 财务指标只能告诉你“发生了什么”,却…

详细介绍:C#练习题——泛型实现单例模式和增删改查

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

Ivanti EPM移动版12.5.0.0身份验证绕过漏洞分析与利用

本文详细分析了Ivanti Endpoint Manager Mobile 12.5.0.0版本中的身份验证绕过漏洞(CVE-2025-4428)和表达式语言注入漏洞(CVE-2025-4427),提供了完整的Python利用代码,可实现未授权远程命令执行。Ivanti Endpoint Ma…

自动评估问答模型的技术突破

本文介绍了一种名为AVA的自动问答模型评估方法,采用创新的peer attention机制,在NAACL会议上展示。该方法相比人工评估错误率仅为7%,包含线性模型和基于Transformer的神经网络模型,使用包含200万训练样本的数据集。…

task8.c

task8.cinclude<stdio.h> include<math.h> int main() { double s, a, b, c, area; while (scanf_s("%lf%lf%lf", &a, &b, &c) != EOF) { s = (a + b + c) / 2; area = sqrt(s * (s…

运行Udacity的MPC控制项目指南(project_10)在Ubuntu 18.04环境下

系统更新与工具安装更新系统包列表:打开终端并运行以下命令以确保所有软件包都是最新的。 sudo apt update sudo apt upgrade安装构建工具:安装编译器和构建依赖项。 sudo apt install build-essential cmake git li…

深入解析:Java 将 PDF 转换为 PDF/A:数字文档归档的基石

深入解析:Java 将 PDF 转换为 PDF/A:数字文档归档的基石pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consola…

入门正当时!MQTT协议轻量简洁,但应用绝不简单

MQTT凭借低带宽、低功耗的优势成为物联网通信的基石。尽管协议本身简洁,但其在真实项目中的部署与优化却充满挑战。本教程助你从基础迈向实战。 MQTT——全称Message Queuing Telemetry Transport消息队列遥测传输协议…

MFC中开源布局库---ResizableLib - 教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

英语阅读

桥梁书: https://zhuanlan.zhihu.com/p/1919350330669397464

JetBrains 官宣 DataGrip 数据库 IDE 现可免费用于非商业用途,适用于 2025.2.4 或更新版本

JetBrains 官宣 DataGrip 数据库 IDE 现可免费用于非商业用途,适用于 2025.2.4 或更新版本JetBrains 官宣 DataGrip 数据库 IDE 现可免费用于非商业用途,适用于 2025.2.4 或更新版本2025/10/3 22:37:36 来源:IT之家…

CF1832D2 Red-Blue Operations (Hard Version) 模拟赛题目分析

CF1832D2 Red-Blue Operations (Hard Version) 题目概述 给你 \(\{a_n\}\),第 \(i\) 次操作,如果是你第奇数次操作当前位置则令它 \(+i\) 否则 \(-i\)。 给出 \(q\) 个询问,问你进行完 \(k\) 个操作之后 \(a\) 中的…

PostgreSQL pg_auto_failover 高可用 1:pg_auto_failover集群搭建

PostgreSQL pg_auto_failover 高可用 1:pg_auto_failover集群搭建 0,pg_auto_failover架构 开始之前,先看一下pg_auto_failover的一个最基础架构原理如下,需要弄清楚几个节点的作用 1,monitor节点纯粹是一个监控…