【XSY4765】axelavir(DP)

news/2024/4/30 11:15:44/文章来源:https://blog.csdn.net/ez_lcw/article/details/127121046

称序列 ⟨a1,⋯,an⟩\langle a_1,\cdots,a_n\ranglea1,,an 是避免 120 的,当且仅当不存在 1≤k<j<i≤n1\leq k<j<i\leq n1k<j<in,满足 ai<ak<aja_i<a_k<a_jai<ak<aj

假设 a1,⋯,ai−1a_1,\cdots,a_{i-1}a1,,ai1 已经确定了,现在要确定 aia_iai。那么为使 aaa 避免 120,只需满足 ai≥max⁡k<j<i,ak<ajaka_i\geq \max\limits_{k<j<i,a_k<a_j}a_kaik<j<i,ak<ajmaxak 即可,将满足 k<j∧ak<ajk<j\land a_k<a_jk<jak<aj 的记作 (k,j)(k,j)(k,j) 组合。

hn,Xh_{n,X}hn,X 表示长度为 nnn 的非负整数序列 ⟨a1,⋯,an⟩\langle a_1,\cdots,a_n\ranglea1,,an 的个数,满足:

  1. a1≥1a_1\geq 1a11
  2. aaa 是避免 120 的。
  3. AiA_iAi 表示满足 1≤j≤i1\leq j\leq i1jiaj−1<aja_{j-1}<a_{j}aj1<ajjjj 的个数(将 a0a_0a0 看作一个负数),那么 ai≤X+Ai−1+1a_i\leq X+A_{i-1}+1aiX+Ai1+1

那么原题目的答案等于 ∑i=mNhN−m,0\sum\limits_{i=m}^N h_{N-m,0}i=mNhNm,0,其中 mmm 枚举的是从 a1a_1a1 开始的极长的一段连续的 000a1,⋯,ama_1,\cdots,a_ma1,,am

考虑怎么求 hn,Xh_{n,X}hn,X。先枚举 a1∈[1,X+1]a_1\in [1,X+1]a1[1,X+1],再枚举从 a1a_1a1 开始的极长的一段小于等于 a1a_1a1 的数:a1,⋯,ama_1,\cdots,a_ma1,,am

注意到 (1,m+1)(1,m+1)(1,m+1) 这个组合给 i>m+1i>m+1i>m+1aia_iai 带来 ≥a1\geq a_1a1 的限制。进一步地,可以发现对于 j≤mj\leq mjm(j,k)(j,k)(j,k) 组合,它们对 i>m+1i>m+1i>m+1aia_{i}ai 的限制恰是 ≥a1\geq a_1a1

这相当于 am+1,⋯,ana_{m+1},\cdots,a_nam+1,,an 集体减去 a1a_1a1 后都非负,但注意 am+1a_{m+1}am+1 还需是正的。

然后还要枚举 ⟨a1,⋯,am⟩\langle a_1,\cdots,a_m\ranglea1,,am 中的上升连续对的个数 ttt,以确定 AmA_{m}Am

那么容易得到:
hn,X=∑a1=1X+1∑m=1n∑t=1mgm,a1,t⋅hn−m,X+t−a1h_{n,X}=\sum_{a_1=1}^{X+1}\sum_{m=1}^n\sum_{t=1}^{m}g_{m,a_1,t}\cdot h_{n-m,X+t-a_1} hn,X=a1=1X+1m=1nt=1mgm,a1,thnm,X+ta1

其中:

gn,x,tg_{n,x,t}gn,x,t 表示长度为 nnn 的非负整数数列 ⟨a1,⋯,an⟩\langle a_1,\cdots,a_n\ranglea1,,an 的个数,满足:

  1. a1=xa_1=xa1=x,且对于任意 1<i≤n1<i\leq n1<inai≤a1a_i\leq a_1aia1
  2. aaa 是避免 120 的。
  3. 恰好存在 ttt 个位置 iii1≤i≤n1\leq i\leq n1in,将 a0a_0a0 看作一个负数),使得 ai−1<aia_{i-1}<a_{i}ai1<ai

考虑怎么求 gn,x,tg_{n,x,t}gn,x,t。考虑枚举 a2=ya_2=ya2=y

y=xy=xy=x,那么直接从 gn−1,x,tg_{n-1,x,t}gn1,x,t 转移过来即可;

y<xy<xy<x。同样地枚举从 a2=ya_2=ya2=y 开始的极长的一段小于等于 a2a_2a2 的数 a2,⋯,ama_2,\cdots,a_ma2,,am。类似地,对于 j≤mj\leq mjm(j,k)(j,k)(j,k) 组合,它们对 i>m+1i>m+1i>m+1 的限制恰是 ≥y\geq yy

从而有:
gn,x,t=gn−1,x,t+∑y=0x−1∑m=1n−1∑c=1mgm,y,c⋅fn−m−1,x−y,t−cg_{n,x,t}=g_{n-1,x,t}+\sum_{y=0}^{x-1}\sum_{m=1}^{n-1}\sum_{c=1}^{m}g_{m,y,c}\cdot f_{n-m-1,x-y,t-c} gn,x,t=gn1,x,t+y=0x1m=1n1c=1mgm,y,cfnm1,xy,tc
其中:

fn,L,tf_{n,L,t}fn,L,t 表示长度为 nnn、值域在 [0,L][0,L][0,L] 的整数数列 ⟨a1,⋯,an⟩\langle a_1,\cdots,a_n\ranglea1,,an 的个数,满足:

  1. a1>0a_1>0a1>0
  2. aaa 是避免 120 的。
  3. 恰好存在 ttt 个位置 iii1≤i≤n1\leq i\leq n1in,将 a0a_0a0 看作一个负数),使得 ai−1<aia_{i-1}<a_{i}ai1<ai

考虑怎么求 fn,L,tf_{n,L,t}fn,L,t。先枚举 a1∈[1,L]a_1\in[1,L]a1[1,L]。类似地枚举极长的一段小于等于 a1a_1a1 的数 a1,⋯,ama_1,\cdots,a_ma1,,am。类似地,对于 j≤mj\leq mjm(j,k)(j,k)(j,k) 组合,它们对 i>m+1i>m+1i>m+1 的限制恰是 ≥a1\geq a_1a1

那么:
fn,L,t=∑a1=1L∑m=1n∑c=1mgm,a1,c⋅fn−m,L−a1,t−cf_{n,L,t}=\sum_{a_1=1}^{L}\sum_{m=1}^{n}\sum_{c=1}^{m}g_{m,a_1,c}\cdot f_{n-m,L-a_1,t-c} fn,L,t=a1=1Lm=1nc=1mgm,a1,cfnm,La1,tc

下图可能可以帮助你更好地理解上述过程:

在这里插入图片描述

现在,我们已经可以在 O(N6)O(N^6)O(N6) 的时间复杂度内解决原问题。一个常数优化的小技巧是,注意到 h,g,fh,g,fh,g,f 最后一维记录上升连续对的个数,而这个个数其实在严格的限制下并不多,大概只有序列长度的一半,这样可以省掉很多常数。

事实上,可以注意到所有转移方程都是卷积的形式。我们先考虑用生成函数来表示 fffggg

先把 ggg 的转移方程改写如下:
gn,x,t=gn−1,x,t+∑y=0x−1∑m=1n−1∑c=1mgm,y,c⋅fn−m−1,x−y,t−c=∑y=0x∑m=1n−1∑c=1mgm,y,c⋅fn−m−1,x−y,t−c\begin{aligned} g_{n,x,t}&=g_{n-1,x,t}+\sum_{y=0}^{x-1}\sum_{m=1}^{n-1}\sum_{c=1}^{m}g_{m,y,c}\cdot f_{n-m-1,x-y,t-c}\\ &=\sum_{y=0}^{x}\sum_{m=1}^{n-1}\sum_{c=1}^{m}g_{m,y,c}\cdot f_{n-m-1,x-y,t-c}\\ \end{aligned} gn,x,t=gn1,x,t+y=0x1m=1n1c=1mgm,y,cfnm1,xy,tc=y=0xm=1n1c=1mgm,y,cfnm1,xy,tc
这方便于我们列方程。

F(x,y,z)F(x,y,z)F(x,y,z)G(x,y,z)G(x,y,z)G(x,y,z) 分别为 f,gf,gf,g 的生成函数。那么有:

{G=xGF+xz1−yF=F(G−xz1−x)+11−y\begin{cases} G=xGF+\frac{xz}{1-y}\\ F=F(G-\frac{xz}{1-x})+\frac{1}{1-y} \end{cases} {G=xGF+1yxzF=F(G1xxz)+1y1

可能可以半在线卷积。或者可以直接解得:
G=1−y−4(1−x)x(1−y)(x(1−z)−1)+(1−y−x(x−y)(1−z))2+x2(1−z)−x(2−y)(1−z)2(1−x)(1−y)G=\frac{1-y-\sqrt{4(1-x)x(1-y)(x(1-z)-1)+(1-y-x(x-y)(1-z))^2}+x^2(1-z)-x(2-y)(1-z)}{2(1-x)(1-y)} G=2(1x)(1y)1y4(1x)x(1y)(x(1z)1)+(1yx(xy)(1z))2+x2(1z)x(2y)(1z)
使用三元 GF 应该可以做到 O(n3polylog⁡(n))O(n^3\operatorname{polylog}(n))O(n3polylog(n))

HHH 应该也能用类似半在线卷积的方法加速至 O(n3polylog⁡(n))O(n^3\operatorname{polylog}(n))O(n3polylog(n))

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

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

相关文章

微信小程序 java-php大学校园学生社团系统python

功能介绍 将系统权限按管理员和学生这两类涉及学生划分。 (a) 管理员&#xff1b;管理员使用本系统涉到的功能主要有&#xff1a;个人中心、学生管理、社长管理、社团简介管理、社团招新管理、系统管理等功能 (b)学生进入系统前台可以实现首页、我的、社团简介、社团论坛等功能…

web实训大作业 网页设计期末课程设计(HTML+CSS)

&#x1f329;️ 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f482; 作者主页: 【进入主页—&#x1f680;获取更多源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;HTML5网页期末作业 (1000套…

APS排程软件帮机械加工企业解决交期承诺问题

相信很多做过生产计划的小伙伴都遇到过“交期承诺”的问题&#xff0c;实际生产中影响产品交期的因素有很多&#xff0c;进行“交期承诺”的计算不仅需要耗费大量时间&#xff0c;而且还只是估值&#xff0c;时间不准确&#xff0c;同时交期承诺影响订单交付&#xff0c;还影响…

大型企业——伙伴云,为什么会选择Baklib帮助中心?

当前产品的帮助中心不再只是为用户解决问题而存在&#xff0c;而更像是一个产品团队与用户进行交流的地方&#xff0c;你可以在这里介绍你的公司和产品&#xff0c;宣传你的理念&#xff0c;引导用户体验主打的功能&#xff0c;解答用户的问题&#xff0c;了解用户当前使用中遇…

P21升级后,用旧的spec模板生成的defime.xml中WhereClauses(VLM)里的逗号不能正常显示

背景&#xff1a;有个项目在P21升级之前&#xff08;v3.1.2&#xff09;做过一版defime.xml。后期因为某种原因导致数据集变更&#xff0c;同时define也需要重新生成。所以只能使用升级后的P21&#xff08;v4.0.1&#xff09;软件生成defime.xml。两次生成defime.xml使用的都是…

win10 安装Elasticsearch 安装 Kibana

1 下载 Elasticsearch &#xff08;ES需要有JDK环境&#xff0c;自行安装&#xff09; 官网 Download Elasticsearch | Elastic 这里下载的 8.4.2 Es 版本必须与 Kibana 版本对应 2 解压 打开 config 目录 3 找到 elasticsearch.yml 配置文件 4 修改 elasticsea…

JAVA中如何实现代码优化

1.用String.format拼接字符串 例&#xff1a;比如现在有个需求&#xff1a;要用get请求调用第三方接口&#xff0c;url后需要拼接多个参数。 1&#xff09; 以前我们的请求地址是这样拼接的&#xff1a;字符串使用号拼接&#xff0c;非常容易出错。 String url "http://…

Linux安全之SELinux理解

安全增强式 Linux&#xff0c;即SELinux(Security-Enhanced Linux)是一个 Linux 内核的安全模块&#xff0c;其提供了访问控制安全策略机制&#xff0c;包括了强制访问控制(Mandatory Access Control&#xff0c;MAC)。SELinux 是一组内核修改和用户空间工具&#xff0c;已经被…

0052-Tui-设置方块样式

环境Time 2022-08-09 Rust 1.62.0 Tui 0.18.0前言 说明 参考:https://github.com/fdehau/tui-rs/blob/master/examples/block.rs 目标 使用 tui-rs 对方块设置各种不同的样式。 设置背景色 let block = widgets::Block::default().title("设置背景色").style(style:…

跨境电商如何利用WhatsApp API交互式按钮提高客户转化率

WhatsApp API有很多实用的功能&#xff0c;跨境电商卖家因此可以为客户提供出色的客户服务体验与服务。 跨境电商卖家在通过WhatsApp API为客户提供服务或进行营销时&#xff0c;交互性功能可以明显提高客户转化率。因为当用户想要选择服务或产品时&#xff0c;可以直接使用交…

Java / Tensorflow - API 调用 pb 模型使用 GPU 推理

目录 一.引言 二.Java / Tensorflow 代码配置 1.代码配置 2.Maven 配置 三.环境检测 1.显卡检测 2.显卡监控 四.推理踩坑 1.异常现象 2.异常日志 五.安装 cuda-10.0 1.下载 cuda 安装包 2.安装 cuda 2.1 preface 前言 2.2 安装配置 2.3 安装完成 2.4 可能遇到的…

day013--mysql中的子查询

目录 一&#xff0c;前言 二&#xff0c;子查询的定义及书写格式 1&#xff0c;定义 2&#xff0c;书写格式 三&#xff0c;子查询的分类 1&#xff0c;单行子查询和多行子查询 2&#xff0c;相关子查询和非相关子查询 一&#xff0c;前言 相信大家还记得之前我们在学习分…

保研专业课参考

文章目录数据结构1.什么是平衡树&#xff1f;平衡树是怎么创建的&#xff1f;2.二叉排序树的性质&#xff1a;3.如何编程判断一棵二叉树是完全二叉树4.二叉树怎么求高度&#xff08;山大计算机&#xff09;5.在图中找到一个连通图&#xff0c;有n个顶点&#xff0c;n-1条边使得…

SQL Server大分区表没有空分区的情况下如何扩展分区的方法

官方文档https://docs.microsoft.com/en-us/sql/t-sql/statements/alter-partition-function-transact-sql?viewsql-server-ver16 Best Practices Always keep empty partitions at both ends of the partition range. Keep the partitions at both ends to guarantee that th…

【学生网页作业】航海王动漫网页 html+ css + JavaScript 简单的学生网页作业源码

&#x1f329;️ 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f482; 作者主页: 【进入主页—&#x1f680;获取更多源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;HTML5网页期末作业 (1000套…

手机用Postern配置socks5全局代理详细教程

以静态Socks5独享IP的单地区资源为例&#xff0c;即IP资源全部归属单一城市&#xff0c;不会变动&#xff0c;如南京区域&#xff0c;则IP全部为南京城市出口。 关于Socks5的使用有多种方案&#xff0c;可应用于PC&#xff0c;安卓&#xff0c;模拟器&#xff0c;请根据情况灵…

EasyRecovery15万能数据恢复软件全面详细功能讲解

EasyRecovery 15是由全球著名数据厂商Ontrack 出品的一款非常优秀的数据恢复软件&#xff0c;在诸多数据恢复软件中这款软件可以说是排的上名的&#xff0c;具有快捷、高效、便捷等特点&#xff0c;可以帮助用户轻松恢复电脑丢失的数据。 因此今天coco玛吉多就给大家带来了eas…

环境主题静态HTML网页作业作品 大学生环保网页设计制作成品 简单DIV CSS布局网站

&#x1f329;️ 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f482; 作者主页: 【进入主页—&#x1f680;获取更多源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;HTML5网页期末作业 (1000套…

2022短视频神器历时6个月辛苦全力打造的软件短视频运用工具

短视频批量监控混剪消重上传运营神器 ​ 要问当下什么最火&#xff1f;当然是从事自媒体了&#xff0c;自媒体是普通大众经由数字科技强化、与全球知识体系相连之后&#xff0c;一种开始理解普通大众如何提供与分享他们自身的事实、新闻的途径。简而言之&#xff0c;即公民用以…

移动端布局

移动端布局1. meta视口标签1.2 多倍图1.2.1 图片缩放1.2.2 背景缩放 background-size1.3 特殊样式2 移动端常见布局2.1 流式布局&#xff08;百分比布局&#xff09;2.2 flex布局父项常见属性2.2.1 flex-direction设置主轴或侧轴的方向2.2.2 justify-content 设置主轴的子元素的…