Subsegments

CF997E Good Subsegments

对于这一类析合树问题有简单的线段树扫描线做法:考虑一个长为 \(len\) 的区间内一定有 \(len-1\) 个数值相邻的对,于是每次新加一个数 \(a_i\) 可以考虑相邻的两个数的出现位置 \(p\),若 \(p\le i\) 就对 \([1,p]\) 区间加,表示左端点在 \([1,p]\) ......
Subsegments 997E Good 997 CF

AtCoder Regular Contest 168 E Subsegments with Large Sums

洛谷传送门 AtCoder 传送门 尝试二分答案,问题变为要求恰好选 \(x\) 段 \(\ge s\),最大化选的段数。 发现我们不是很会算段数的 \(\max\),因为要求段不重不漏地覆盖 \([1, n]\)。考虑给每个 \(\ge s\) 段 \([l, r]\) 一个 \(r - l\) ......
Subsegments AtCoder Regular Contest Large

ARC169 B Subsegments with Small Sums 题解

Link ARC169 B Subsegments with Small Sums Question \(x\) 是一个序列,定义 \(f(x)\) 为把序列 \(x\) 切成几段,每段的和不能超过 \(S\) 的最小段数 给出序列 \(A=(A_1,A_2,\cdots,A_N)\) 求: \[\ ......
题解 Subsegments Small with Sums

[ARC168E] Subsegments with Large Sums

题目链接 看到严格选 \(k\) 个,不难想到 WQS二分。定义 \(f(x)\) 为分成 \(x\) 段,最多有多少个超过 \(S\) 的。然后你会发现他不是凸的。因为他有很多平段,比如把两个很小的合并不改变答案。 换个方向? 考虑定义 \(f(x)\) 为有 \(x\) 个超过 \(S\) 的段 ......
Subsegments Large 168E with Sums

[ARC168E] Subsegments with Large Sums

有点意思的简单题。 答案有可二分性。合并两段,显然仍然合法。 考虑如何 check。因为答案可以被二分,我们尝试求恰好 \(x\) 段就行了。 恰好,这是 wqs 二分的内容。如何设计一个与 \(x\) 有关的凸函数呢? 这个函数大概是 \(\sum_{i=1}^x w(l_i, r_i)\) 的形 ......
Subsegments Large 168E with Sums

CF997E Good Subsegments

## 简要题意 一个好区间是其中数在值域上连续的区间,给定 $n$ 的排列,每次给定一个区间,问其中有多少好的子区间。 数据范围:$1\le n\le 120000$。 ## 做法 只有整体询问的版本是 Cupboard Monsters。值域上连续当且仅当区间最大值减最小值等于区间长度,考虑维护最 ......
Subsegments 997E Good 997 CF
共6篇  :1/1页 首页上一页1下一页尾页