首页 > 其他分享 >P8386 [PA2021] Od deski do deski

P8386 [PA2021] Od deski do deski

时间:2023-09-03 20:13:39浏览次数:40  
标签:do leftarrow Od times deski P8386 dp

P8386 [PA2021] Od deski do deski

洛谷:Od deski do deski

LOJ3600 Od deski do deski

Solution

先考虑如何判定一个序列 \(a\) 是否合法。

记 \(dp_{i} = 0/1\) 表示考虑前 \(i\) 个数是否能被删空:\(dp_{i} \xleftarrow{\texttt{or}} dp_{j - 1}[a_i = a_j]\)。初始化 \(dp_{0} = 1\)。

类似地把判定性问题转成计数问题。

从前往后填数,由于合法状态与非法状态之间可以相互转化,所以我们要同时记录这两种情况的数量。

填数时要考察当前填多少个数合/非法,因此要记录这样一个信息:之前有多少不同的数值 \(x\),使得存在 \(dp_{j - 1} = 1\) 且 \(a_j = x\)。

记 \(f_{i, j}\) 表示填完前 \(i\) 个数,所有 \(dp_{p - 1} = 1(p < i)\) 对应的 \(a_p\) 组成的数集大小为 \(j\) 的合法方案数,\(g_{i, j}\) 表示同样意义下的非法方案数。

\[\begin{aligned} f_{i, j} &\leftarrow j \times f_{i - 1, j} \\ f_{i, j} &\leftarrow j \times g_{i - 1, j} \\ g_{i, j} &\leftarrow (m - j) \times g_{i - 1, j} \\ g_{i, j + 1} &\leftarrow (m - j) \times f_{i - 1, j} \\ \end{aligned} \]

由于最后一个转移是由合法状态转移过来,并且当前位置上填了新的数值,因此数集的大小加一。

时间复杂度 \(O(n\times \min(n, m))\)。

code

标签:do,leftarrow,Od,times,deski,P8386,dp
From: https://www.cnblogs.com/Schucking-Sattin/p/17675461.html

相关文章

  • Windows基本命令
        echo>写入的话是覆盖>>是续写 ......
  • 大数据开发-解决Windows下,开发环境常遇的几个问题
    发士大夫大数据开发-解决Windows下,开发环境常遇的几个问题1.背景大数据开发的测试环境,很多人不以为然,其实重复的打包,上传,测试虽然每次时间大概也就几分钟,但是积累起了往往会花费很多的时间,但是一个完整的测试环境在生产环境下往往难形成闭环,抛开堡垒机权限不说,hadoop,hive,spark......
  • Windows与网络基础——虚拟机镜像相关
    1.虚拟机Windows10安装硬盘分区时,先新建分区,再格式化在启动此电脑——管理——本地用户和组 向下箭头代表为禁用开机状态快照占用内存大于关机状态快照2.虚拟机WindowsServer2016安装要桌面的话,需要选择桌面体验版Server版本的WINDOWS需要给管理员设置密码,且具备复杂性,......
  • Windows下编译FFmpeg
    Windows下在编译前需要修改环境变量,确保有这两个变量INCLUDE以及PKG_CONFIG_PATH除此之外,我们还对编出来的库有些其它要求,例如,库名中不能有版本号相关的信息,修改configurewin32|win64)disablesymverifenabledshared;then#Linktot......
  • 笔记2:vivado 的 ILA 创建
    ILA–IntegratedLogicAnalyzer 内部逻辑分析仪(是一种在线调试工具,用的非常多)先例化在生成IP核,好处:(1)、可以事先明确知道要看多少个信号(2)、信号的位宽(3)、可以一次性的配置好在线调试工具,避免先生成IP,在例化,因失误漏了信号,反复添加,编译耗时带来的苦恼问题。(4)、流程很清......
  • vivado 教程笔记 -创建工程 - 编译 - 布局布线 - 生成bit - 下板验证
    1、创建工程工程就算创建完了。2、 创建源文件双击打开后,就可以敲入代码 3、语法编译、布局布线、IO配置约束输入完一个完整代码后,先对语法进行综合分析,可直接跳过RTLANALYSIS,直接点击SYNTHESIS(综合)进行布局布线布局布线完后,IO管脚配置约束有时......
  • 设置Windows10暂停更新3000天
    1、运行cmd,执行以下命令:regadd“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings”/vFlightSettingsMaxPauseDays/treg_dword/d3000/f2、到更新设置里面设置暂停更新:   ......
  • ODOO 科目配置4
    启用 斯托诺会计不启用 Anglo-SaxonAccounting常规作业能满足,另外需要下面三个二开: 1.报废科目的定义2.库存盘点科目的定义3.价值重估科目的定义.      ......
  • skyapm-dotnet 源码执行
    监听System.Data.SqlClient为例通过观察者模式和DiagnosticListener获取监听数据,在开始InstrumentationHostedService实现IHostedService启动然后通过 DiagnosticListener.AllListeners.Subscribe();监听 然后TracingDiagnosticProcessorObserver:IObserver<Diagno......
  • doc to docx ;docx to doc
    importzipfileimportosimportshutilimporthashlibimportsend2trash'''假设所有的word文档存放在某路径中,这个路径中包含各种杂七杂八的玩意使用Everything,或者"筛选文件.py"把所有的docx文件移动到C:\\Users\\asuka\\Desktop\\123逐个解压每个docx文档,并提取......