原神启动(递推,矩阵)

Part 1. 引子

求有多少 1 ∼ n 1\sim n 1n的排列,满足:

  • 进行 k k k轮原神排序后变为升序

具体的,一轮原神排序的定义为:

  • 指针 i i i [ 1 , n ) [1,n) [1,n)的顺序正序遍历,如果 a i > a i + 1 a_i>a_{i+1} ai>ai+1,则交换 a i a_i ai a i + 1 a_{i+1} ai+1
  • 指针 i i i ( 1 , n ] (1,n] (1,n]的顺序逆序遍历,如果 a i − 1 > a i a_{i-1}>a_i ai1>ai,则交换 a i − 1 a_{i-1} ai1 a i a_{i} ai

1 ≤ n ≤ 1 0 18 , 0 ≤ k ≤ 1 0 5 1\le n\le 10^{18},0\le k\le 10^5 1n1018,0k105

Part 2

首先转化成对 01 01 01序列排序,发现每次操作等价于将最左边的 1 1 1和最右边的 0 0 0进行交换,然后转二分图匹配模型,设 f i , j f_{i,j} fi,j表示决策了前 i i i个左部点和右部点,左部点和右部点分别有 j j j个点未匹配的方案数。转移如下:

f i , j = { f i − 1 , j − 1 + ( 2 j + 1 ) f i − 1 , j + ( j + 1 ) 2 f i − 1 , j + 1 0 ≤ j ≤ k 0 j > k f_{i,j}=\begin{cases}f_{i-1,j-1}+(2j+1)f_{i-1,j}+(j+1)^2f_{i-1,j+1}&0\le j\le k\\0&j>k\end{cases} fi,j={fi1,j1+(2j+1)fi1,j+(j+1)2fi1,j+100jkj>k

可能你看不懂上面的递推式是怎么来的,这是本题的难点之一,但是我们先略过这一部分。

考虑写出转移矩阵 A A A,那么答案就是 A n v A^nv Anv。注意到转移可以写成 k + 1 k+1 k+1阶矩阵,有结论:对于向量 v v v的任意一维,存在相同 k + 1 k+1 k+1阶递推式。

证明:考虑找出矩阵 A A A的特征多项式 ∑ c i A i = 0 \sum c_iA^i=0 ciAi=0,记 j j j处的答案向量为 f j f_j fj,则:

∑ c i A i f j = 0 \sum c_iA^if_j=0 ciAifj=0

考虑向量的任意一维(比如说这道题要求的是 f n , 0 f_{n,0} fn,0),则:

∑ c i f j + i , 0 = 0 \sum c_if_{j+i,0}=0 cifj+i,0=0

这样我们自然而然的得到了线性递推式。

现在考虑求特征多项式,即 det ( λ I − A ) \text{det}(\lambda I-A) det(λIA)。注意到其只在主对角线和副对角线上有值,记 d n d_n dn表示对应 n n n阶行列式的答案,展开得到:

d n = ( x − 2 n − 1 ) d n − 1 + ( n − 1 ) 2 d n − 2 d_n=(x-2n-1)d_{n-1}+(n-1)^2d_{n-2} dn=(x2n1)dn1+(n1)2dn2

注意这不是常系数齐次线性递推,而是若干矩阵的乘积:

M i = [ 0 ( i − 1 ) 2 1 x − 2 i − 1 ] M_i=\begin{bmatrix}0&(i-1)^2\\1&x-2i-1\end{bmatrix} Mi=[01(i1)2x2i1]

现在要求 ∏ i = 1 k + 1 M i \prod_{i=1}^{k+1}M_i i=1k+1Mi,可以直接分治求,复杂度 O ( k log ⁡ 2 k ) O(k\log^2 k) O(klog2k)

最后用著名的 Bostan-Mori 算法求解常系数齐次线性递推的第 n n n项即可。

如果你不会这个

简单练习题:[ABC300Ex] Fibonacci: Revisited

总复杂度 O ( k log ⁡ k log ⁡ n + k log ⁡ 2 k ) O(k\log k\log n+k\log^2 k) O(klogklogn+klog2k)

代码:

//很抱歉这份代码咕掉了。只能期待Hagasei-Chan给出的std了。

Part 3

还有一个题的递推式大概是这样的:

f i , 0 = f i − a , 0 + f i − a , 2 + f i − a , 3 f i , 1 = f i − b , 1 + f i − b , 2 + f i − b , 3 f i , 2 = f i − c , 0 + f i − c , 1 + f i − c , 2 f i , 3 = f i − d , 0 + f i − d , 1 + f i − d , 3 f_{i,0}=f_{i-a,0}+f_{i-a,2}+f_{i-a,3}\\ f_{i,1}=f_{i-b,1}+f_{i-b,2}+f_{i-b,3}\\ f_{i,2}=f_{i-c,0}+f_{i-c,1}+f_{i-c,2}\\ f_{i,3}=f_{i-d,0}+f_{i-d,1}+f_{i-d,3} fi,0=fia,0+fia,2+fia,3fi,1=fib,1+fib,2+fib,3fi,2=fic,0+fic,1+fic,2fi,3=fid,0+fid,1+fid,3

现在要求 f n , 0 + f n , 1 + f n , 2 + f n , 3 f_{n,0}+f_{n,1}+f_{n,2}+f_{n,3} fn,0+fn,1+fn,2+fn,3

可以考虑写成生成函数的形式然后硬解方程,这样解出来应该是封闭形式,可以直接上 Bostan-Mori 。

但是其实这玩意也可以写成矩阵转移的形式,然后暴力展开行列式。因为有值的地方很少所以也是可行的。

Part 4

总结:我是属于连递推式都看不出来的那种

bot题谁做啊?bot题谁做啊?bot题谁做啊?bot题谁做啊?

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

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

相关文章

React进阶 - 12(浅谈 state、props与render函数的关系)

本章内容 目录 一、state 与 render 函数的关系二、props 与 render函数的关系 上一节我们讲了如何使用 PropTypes及 DefaultProps来进行属性的类型校验及设置属性默认值。本节内容我们来了解一下 state、props与render函数的关系。 一、state 与 render 函数的关系 我们知道…

C++中的const常量-->‘only read,can‘t change‘

2024年1月22日 ///昨天外面下雨地没干,骑车摔得好结实,,, 2024年1月23日 内容整理自The Cherno:C系列 这个关键字确实有点难,看了好几遍原视频整理出来的知识框架,还需要加以练习 -----------------------------------------…

【AI视野·今日Robot 机器人论文速览 第七十五期】Thu, 11 Jan 2024

AI视野今日CS.Robotics 机器人学论文速览 Thu, 11 Jan 2024 Totally 16 papers 👉上期速览✈更多精彩请移步主页 Daily Robotics Papers Analytical Model and Experimental Testing of the SoftFoot: an Adaptive Robot Foot for Walking over Obstacles and Irre…

spawn_group_template | spawn_group | linked_respawn

字段介绍 spawn_group | spawn_group_template 用来记录与脚本事件或boss战斗有关的 creatures | gameobjects 的刷新数据linked_respawn 用来将 creatures | gameobjects 和 boss 联系起来,这样如果你杀死boss, creatures | gameobjects 在副本重置之前…

「我在淘天做技术」智能对话新纪元:百万日活对话机器人的 LLM 落地实践

作者:智能小蜜团队 一、前言 阿里小蜜家族(阿里小蜜、店小蜜、万象),从 2015 年发展至今,已经成为了覆盖淘天 P-C(平台-消费者)、B-C(商家-消费者)、P-B(平台…

C++学习笔记--数组

数组 所谓数组,就是一个集合,里面存放了相同类型的数据元素 特点1:数组中的每个元素数据元素都是相同的数据类型 特点2:数组是由连续的内存位置组成的 一维数组 一维数组定义的三种方式: 1、数据类型 数组名 [数…

【明道云】【企业数字化】如何将明道云的数据直连SmartBi使用

【背景】 明道云优势在于上传和企业内部流程的系统化,换句话说,是产生数据的部分。 SmartBi优势在于生成报表和即席查询等,是使用沉淀数据的部分。 如果能将这两部分的数据打通,可以大大扩展企业数字化框架的覆盖范围。让这两套平…

恭喜!中移集成、广西移动、辽宁移动三家客户学员通过亚信安慧AntDB ACP认证

新年伊始,中移集成、广西移动、辽宁移动三家客户燃起了极大的学习热情,联合亚信安慧AntDB数据库团队共同组织了第二期亚信安慧AntDB数据库中级培训。三家客户分别遴选各自优秀的高级运管人员参与本期培训。 培训安排及成果 为方便学员合理安排工作、学习…

【Linux】Linux进程信号(下)

​ ​📝个人主页:Sherry的成长之路 🏠学习社区:Sherry的成长之路(个人社区) 📖专栏链接:Linux 🎯长路漫漫浩浩,万事皆有期待 上一篇博客:【Linux】…

独步IT界,开放API接口文档新标杆!

目录 1、简介 1.1 什么是API接口 1.2 为什么开放API接口 1.3 API接口的优势和应用领域 1.4 API接口的基本原则和设计准则 2、接口认证 2.1 认证方式和流程 2.2 API密钥的生成和管理 2.3 认证错误处理 3、接口调用 3.1 请求方法和URL规范 3.2 请求参数和格式 3.3 响…

遍历子网所有ip地址,寻找空闲ip

在cmd窗口下输入如下代码: for /l %i in (1,1,255) do ping -n 1 -w 60 10.183.27.%i | find "Reply" >> d:\pingall27.log 得到如下结果 上图中,有reply的代表该IP已经被占用。但是观察红框中 22-->25之间缺少23 24 则说明23/24 是…

ChatGPT到底好不好用?相比于搜索引擎的优势

在数字化时代,获取信息的方式正经历着翻天覆地的变化。搜索引擎曾经是我们获取信息的首选工具,但现在,随着人工智能技术的飞速发展,ChatGPT等智能聊天机器人正在逐渐改变我们搜索和处理信息的方式。那么,ChatGPT到底好…

宿舍安全用电监模块

学校宿舍安全用电监测模块是针对 0.4kV 以下的 TT、TN 系统设计的智能电力装置,具有单、三相交流电测量、四象限电能计量、谐波分析、开关量输入、继电器输出功能,以及 RS485 通讯或 GPRS 无线通讯功能,通过对配电回路的剩余电流、导线温度等…

理想架构的Doherty功率放大器理论与仿真

Doherty理论—理想架构的Doherty功率放大器理论与仿真 参考: 三路Doherty设计 01 射频基础知识–基础概念 ADS仿真工程文件链接:理想架构的Doherty功率放大器理论与仿真 目录 Doherty理论---理想架构的Doherty功率放大器理论与仿真0、Doherty架构的作用…

神经网络算法与逻辑回归:优势与差异

神经网络算法和逻辑回归都是预测模型中的重要工具,但它们在处理复杂和非线性问题时表现出不同的性能。本文将深入探讨神经网络算法相对于逻辑回归的优势,以及它们在不同场景下的适用性。 一、引言 神经网络算法和逻辑回归都是预测模型中的重要工具&…

Python - argparse模块

python中的argparse模块,用于命令后参数解析,方便测试,是python中自带的模块。 可以自动生成帮助文档,和使用手册。而且当用户在执行程序的时候,输入无效的参数时,会给出对应的错误信息。 使用方法&#…

贪吃蛇(C)

游戏背景:贪吃蛇是久负盛名的游戏,它也和俄罗斯⽅块,扫雷等游戏位列经典游戏的⾏列。 总: 游戏设计大纲: 使⽤C语⾔在Windows环境的控制台中模拟实现经典⼩游戏贪吃蛇。 实现的基本功能: 1、贪吃蛇地图绘制…

自己构建webpack+vue3+ts

先看看我的目录结构(我全局使用TS): 一、安装配置webpack打包 安装esno npm install esnoesno 是基于 esbuild 的 TS/ESNext node 运行时,有了它,就可以直接通过esno *.ts的方式启动脚本,package.json中添加 type:…

echarts绘制饼图,部分数据隐藏指示线和文本,hover时隐藏指示线和文本的类别也不显示tooltip提示

option {tooltip: {trigger: item,formatter: (p) > {if (p.name) {return ${p.name}:${p.value}个;}},backgroundColor: #ffffff,textStyle: { color: #666666 } // 提示标签字体颜色},legend: {top: 5%,left: center},series: [{name: Access From,type: pie,…

在职博士|社科大与新加坡社科大学工商管理博士3月份开学

在职博士|社科大与新加坡社科大学工商管理博士3月份开学 目前的在职博形式:一方面,目前全国高校都在扩大人才引进规模;另外一方面,国内高校的博导基本不愿意接受在职博士,招收在职博士的高校也越来越少,很多同学只能考虑国外的在…