06 2020 档案

摘要:设lenthisi位置的前缀的后缀为t的一个子串的最长长度,即为从i位置开始往前和t的最长公共子串长度。其可以通过对t建后缀自动机,然后让s在自动机上匹配来求出。 求出lenthi后,对于区间[l,r]的一个询问,其答案即为: \[ \max_{i=l 阅读全文 »
posted @ 2020-06-28 20:16 lhm_liu 阅读(211) 评论(0) 推荐(0) 编辑
摘要:根据题意,题目中所求的即为所有n!种完美匹配的各自的出现概率之和再乘上2n的值。 发现n很小,考虑状压DP。设fS,T为左部图匹配情况为S,右部图匹配情况为T的期望,可以得到转移为: \[ f_{S,T}=\sum_{x \subseteqq S \land y 阅读全文 »
posted @ 2020-06-26 23:06 lhm_liu 阅读(253) 评论(0) 推荐(1) 编辑
摘要:因为有撤销操作,所以修改操作可能会只会存在一段时间,因此把时间看作一维,被修改的序列看作一维。 可以把操作都离线下来,对于每个修改操作,就是在二维平面上对一个矩形进行修改,询问操作,就是查询单点权值。 具体实现时,可以对所有询问操作查询的单点建KD Tree,然后在KD Tree上矩 阅读全文 »
posted @ 2020-06-15 15:49 lhm_liu 阅读(319) 评论(0) 推荐(0) 编辑
摘要:考虑可以枚举字符串上的两个点,求出两个点所对应后缀的LCP和所对应前缀的LCS,两点之间的距离为len,则这两个点对答案的贡献为: LCS+LCP+L1L 取最大值即为答案,可以通过下图来理解这个式子: 首先已经将字符串分为了若干个长度为len的块,箭 阅读全文 »
posted @ 2020-06-14 08:31 lhm_liu 阅读(271) 评论(0) 推荐(0) 编辑
摘要:根据题意,发现题目中的图,其实就是一颗树或者是一颗基环树,每个节点上有一个点对(x,y),每次询问为给定端点,找一条直线到端点间的所有点的距离之和最小。 设这条直线为y=kx+b,根据点到直线公式得,我们要求$\sum\limits_^n \frac{(kx_i-y_i+b)2}{k2+1} 阅读全文 »
posted @ 2020-06-11 18:07 lhm_liu 阅读(344) 评论(0) 推荐(0) 编辑
摘要:不难想到可以2k去枚举k条新边的选择方案,然后加入原图中的边来使图连通,用当前方案的收益去更新答案,但是这样复杂度过不去。 可以先把k条新边都连上,然后再加入边权从小到大排序过后的原图的边,直到图连通。后加入的原图的边在任何一个新边的选择方案都是要加入的,因为找这些边时是选了所有k 阅读全文 »
posted @ 2020-06-08 11:01 lhm_liu 阅读(387) 评论(0) 推荐(0) 编辑
摘要:可以用网络流解决这个题。 注意到ai2,所以当相邻数字要和为质数时,这两个数要一个为奇数,一个为偶数。 所以就先将所有数按奇偶分为两列,其就构成了一个二分图,二分图中和为质数的两个数间连容量为1的边,表示只能匹配一次。 因为是圆桌,所以一个数要恰好匹配两个数,所以每个 阅读全文 »
posted @ 2020-06-08 10:21 lhm_liu 阅读(196) 评论(0) 推荐(0) 编辑
摘要:可以先考虑没有障碍物的情况,设计状态fi,j,k,表示到达坐标 (x,y,z)二进制下,xi位,yj位,zk位的方案数。 得转移方程为: \[ f_{i,j,k}=\sum_{x=1}^i f_{i-x,j,k}\binom{i}{x}+\sum_{x=1 阅读全文 »
posted @ 2020-06-08 10:02 lhm_liu 阅读(258) 评论(0) 推荐(0) 编辑
摘要:考虑生成一颗二叉树的过程,加入第一个节点方案数为1,加入第二个节点方案数为2,加入第三个节点方案数为3,发现生成一颗n个节点的二叉树的方案数为n!。 所以题目中所求即为点与点之间的距离之和,考虑每一条边的贡献,即$\sum\limits_esize_x \times size_y 阅读全文 »
posted @ 2020-06-03 13:30 lhm_liu 阅读(204) 评论(0) 推荐(0) 编辑
摘要:对于一个固定的左端点,右端点向右移动时,其子串权值和不断增大,字典序降序排名不断减小,因此对于一个左端点,最多存在一个右端点使其满足条件。 所以可以枚举左端点,然后二分右端点的位置,权值和通过前缀和来查询,现在的问题就是如何快速查询一个子串的排名。 考虑用后缀数组来解决,对于一个子串[l,r]阅读全文 »
posted @ 2020-06-02 23:59 lhm_liu 阅读(275) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示