如何将差分改写为长尾?
- 内容介绍
- 文章标签
- 相关推荐
本文共计481个文字,预计阅读时间需要2分钟。
这是一道模拟题。题目描述:给定大小为N的两个数组A和B,求长度为1~M的满足以下条件的连续序列数量:对于每个i(从1到N),ai和bi至少有一个是偶数。
This is a fake summary.题目传送门:E - At Least One (atcoder.jp)
题意:
给定大小为N的两个数组A,B,求长度分别为1~M的满足以下条件的连续序列数量,条件为:
对于每个i(从1~N),Ai和Bi至少有一个包含于此序列之内。
思路:双指针 + 差分
容易知道,当序列[L, R]是满足条件的连续序列时,则左边界向左拓展,右边界向右拓展时,得到的新序列依旧满足条件。
那么我们枚举左边界L,然后移动右边界,使得其为满足条件的最小右边界(记为Rmin),则长度在[Rmin - L + 1, M - L + 1]之间的答案都增加1,可以用双指针+差分实现。
本文共计481个文字,预计阅读时间需要2分钟。
这是一道模拟题。题目描述:给定大小为N的两个数组A和B,求长度为1~M的满足以下条件的连续序列数量:对于每个i(从1到N),ai和bi至少有一个是偶数。
This is a fake summary.题目传送门:E - At Least One (atcoder.jp)
题意:
给定大小为N的两个数组A,B,求长度分别为1~M的满足以下条件的连续序列数量,条件为:
对于每个i(从1~N),Ai和Bi至少有一个包含于此序列之内。
思路:双指针 + 差分
容易知道,当序列[L, R]是满足条件的连续序列时,则左边界向左拓展,右边界向右拓展时,得到的新序列依旧满足条件。
那么我们枚举左边界L,然后移动右边界,使得其为满足条件的最小右边界(记为Rmin),则长度在[Rmin - L + 1, M - L + 1]之间的答案都增加1,可以用双指针+差分实现。

