首页 > 其他分享 > [BJWC2018] 序列合并

[BJWC2018] 序列合并

时间:2023-10-20 18:26:09浏览次数:34  
标签:lfloor BJWC2018 合并 texttt 矩阵 rfloor leqslant 序列 dp

朴素的 \(O(n^4)\) 是容易的,考虑如何优化,通过一些观察可以发现 \(\texttt{dp}\) 不具有凸性和决策单调性,所以只能用普通的矩阵乘法来优化,我们令 \(\texttt{dp}\) 数组构成的矩阵为 \(A\),那么 \(dp_{l,r}\) 则可以从所有 \(L\leqslant x \leqslant R\) 的 \(A^x\) 转移而来,我们采用类似快速幂的方法实现这个事情,记 \(B_{k}=A^{\lfloor\frac{l}{2^k}\rfloor},C_{k}=min_{i=0}^{\lfloor\frac{r-l}{2^k}\rfloor}A^i\),注意到事先这些矩阵我们都是不知道的,所以我们可以采用一个半在线矩乘的东西,按长度从小到大考虑每一个区间,每次转移时枚举分界点,由于前面的区间已经求出,所以转移时可以直接调用,由于 \(A^0\) 是难以定义的,所以需要一定的特殊处理,于是可以做到 \(O(n^3 log n)\)。

标签:lfloor,BJWC2018,合并,texttt,矩阵,rfloor,leqslant,序列,dp
From: https://www.cnblogs.com/zhouhuanyi/p/17777735.html

相关文章

  • javascript: 合并数组
     <!doctypehtml><html><head><metacharset="utf-8"><metaname="viewport"content="width=device-width,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0,user-scalable=no"><metahttp-eq......
  • git终止合并
     通过上面的信息多少知道了自己错误的根源。首先我本地是有一些已经commit的代码,但是还没有push到远程。我在gitpull指令执行之后,从远程拉取代码到本地,会自动执行一个merge操作,如果有冲突,就会merge失败,正常情况下,第一次pull会显示merge失败的文件,然后让你手动去修改。但是我......
  • 【Python&GIS】基于Python批量合并矢量数据
    ​老样子最近有项目需要将N个矢量文件合并成一个,总不能用ArcGIS一个个导入吧。所以我就想着用Python编个程序实现批量合并矢量。我之前也发了一些关于Python操作矢量数据的文章:【Python&GIS】Python处理矢量数据的基本操作(查询、修改、删除、新建),如果大家感兴趣可以去我的主......
  • 序列化错误
    org.springframework.data.redis.serializer.SerializationException:Cannotserialize;nestedexceptionisorg.springframework.core.serializer.support.SerializationFailedException:FailedtoserializeobjectusingDefaultSerializer;nestedexceptionisjava.......
  • 88. 合并两个有序数组
    给你两个按非递减顺序排列的整数数组nums1和nums2,另有两个整数m和n,分别表示nums1和nums2中的元素数目。请你合并nums2到nums1中,使合并后的数组同样按非递减顺序排列。注意:最终,合并后数组不应由函数返回,而是存储在数组nums1中。为了应对这种情况,nums1的初......
  • 《动手学深度学习 Pytorch版》 9.7 序列到序列学习(seq2seq)
    循环神经网络编码器使用长度可变的序列作为输入,将其编码到循环神经网络编码器固定形状的隐状态中。为了连续生成输出序列的词元,独立的循环神经网络解码器是基于输入序列的编码信息和输出序列已经看见的或者生成的词元来预测下一个词元。要点:“<eos>”表示序列结束词元,一旦输......
  • 【Java】Vert.x Jackson 序列化后日期数据正常展示
    有段时间没有更新了,年尾嘛大家都懂的。其实最近有个想法,想将自己的vtx_fw框架给开源了。但开源之前还是有很多收尾的工作需要做的(总不能让各位笑话吧o(╥﹏╥)o),这不今天就发现了一个问题,立刻就归纳一下给各位分享。这个问题就是Vert.x框架中日期类型数据在Jackson序列化下的......
  • Acwing 最长上升子序列
    题目给定一个长度为N的数列,求数值严格单调递增的子序列的长度最长是多少。输入格式第一行包含整数N。第二行包含N个整数,表示完整序列。输出格式输出一个整数,表示最大长度。数据范围1≤N≤1000−10^9≤数列中的数≤10^9输入样例:73121856输出样例:4题解......
  • gson如何序列化子类
    需求目前有一个需求,不同对象有一些公共属性,分别也有一些不同的属性。对方传过来的json字符串中,把这些对象组成了一个数组返回过来的。这样该如何反序列化呢?举例定义Person类、Student类、Worker类;@Data@ToStringpublicclassPerson{//姓名privateStringname;......
  • 由Django-Session配置引发的反序列化安全问题
    漏洞成因漏洞成因位于目标配置文件settings.py下关于这两个配置项SESSION_ENGINE:在Django中,SESSION_ENGINE 是一个设置项,用于指定用于存储和处理会话(session)数据的引擎。SESSION_ENGINE 设置项允许您选择不同的后端引擎来存储会话数据,例如:数据库后端 (django.contrib.sessions.b......