摘要: 原题链接 考察:线段树 or 思维+RMQ ####思路一: 用线段树解法比较容易理解.$cnt$记录$[l,r]$区间的最大次数.它可以由子区间的cnt推来,如果左子区间的右端点 = 右子区间的左端点,那么也可以由左子区间的右连续最大长度+右子区间左连续最大长度推来. 需要注意的是查询和push_ 阅读全文
posted @ 2021-06-28 23:53 acmloser 阅读(32) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:双指针 错误思路: 贪心,对于当前枚举$a[i]$,要么把它加入到当前和里,要么新开一个和. 错误原因: 只能说当前差值大不代表以后小. 正确思路: 双指针法用于解决有单调性的区间问题.这里找到区间和的绝对值最靠近t的点.因为数列是有+-的,所以前缀和没有单调性,但是这里求的是绝对值 阅读全文
posted @ 2021-06-28 15:58 acmloser 阅读(27) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:计数dp 思路: 这dp真心还算好想,可本蒟蒻是fw.令$f[i]$为首项为$a[i],长度为a[i]+1的个数$ (1) a[1] = k-1的幸运序列.\(f[i] = C_{n-i}^{a[i]}\) (2) 拼凑的序列,这里不是区间dp,我们考虑一个幸运序列至少可以拆成俩个序 阅读全文
posted @ 2021-06-28 14:38 acmloser 阅读(24) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:思维 思路: 比较容易想到离散化,然后让L点权值为1,R点权值为-1.这里需要分类讨论: (1) 当前枚举点有左端点,此时再计算上个点到此点的距离,\(ans[当前权值和] = v[now] - v[last]\) (2) 当前枚举到有右端点,此时$ans[当前权值和] = v[no 阅读全文
posted @ 2021-06-28 14:31 acmloser 阅读(28) 评论(0) 推荐(0) 编辑