首页 > 其他分享 >[Ynoi2005] qwq

[Ynoi2005] qwq

时间:2023-12-14 12:33:07浏览次数:29  
标签:text sum Ynoi2005 qwq sqrt seperator 距离 leqslant

原问题比较类似 \(\text{ZJOI 2020}\) 序列,可以划归为一个线性规划的形式,考虑将线性规划对偶,不难发现等价于求一个序列 \(b\),使得对于任意 \(1\leqslant l\leqslant r\leqslant n,r-l+1\leqslant m\) 均满足 \(\sum_{i=l}^{r}b_{i}\leqslant 1\),最大化 \(\sum_{i=1}^{n}a_{i}b_{i}\)。

和 \(\text{ZJOI 2020}\) 序列类似的,手玩一下可以发现 \(b\) 只有 \(-1,0,1\) 三种取值,不妨把 \(0\) 剔除,只考虑 \(1\) 与 \(-1\),不难发现则两个距离 \(< m\) 的 \(1\) 不能相邻,而此时也一定合法,因为每两个 \(<m\) 的 \(1\) 之间都至少有一个 \(-1\),则选一个长不超过 \(m\) 的序列的最大值即使最优也一定是 \(1,-1\) 的交错序列,这个一定是 \(\leqslant 1\) 。而此时由于要最大化,我们取 \(1\) 很可能最优,而对于两个距离 \(<m\) 的 \(1\),中间必然要至少一个 \(-1\),而由于要最大化,我们只取一个 \(-1\) 即可。

现在相当于要选择若干个位置,加上权值,如果选择的相邻两个位置距离 \(<m\),则要减去中间的最小值,不难使用 \(\text{dp}\),做到 \(O(nq)\)。但这不够一般化,还需要进一步转化。

\(m=n\) 时的答案是平凡的,就是 \(a_{1}+\sum_{i=2}^{n}\max(a_{i}-a_{i-1},0)\),这启发我们将其划归为若干个该种问题的组合,可以发现其实对于相邻两个 \(1\) 一定要 \(\geqslant m\) 的限制将其拆分为若干个段,每个段之间的距离 \(\geqslant m\),那么我们只需要考虑那些元素成为了新划分的段的端点即可。一个元素 \([l+m,r]\) 的元素 \(i\) 被划分为出来会导致 \(a_{i}-\sum_{j=i-m+1}^{i}\max(a_{j}-a_{j-1},0)\) 的增加量,要求所有距离 \(<m\) 的不能被同时选中,特别的我们钦定 \(i\) 不能为 \(l+m-1\),因为它的贡献不太一样而且不会被选中,因为如果这样我们将其挪到前面一定更优。

现在相当于这样一个问题,\(q\) 组询问,每次询问一个区间 \([l,r]\),求在 \([l,r]\) 中选择若干个元素,使得所有元素的距离 \(\geqslant m\),最大化所选元素的权值和。

\(m\) 很小的情况是平凡的,直接分治可以 \(O(nm \log n)\),关键在于 \(m\) 很大的情况。关于距离的问题可以联想到一个结论,如果将一个序列中所有距离为 \(x\) 或 \(y\) 的连边,则得到的图为类平面图,\(\text{seperator}\) 也是 \(\sqrt n\) 级别的。在一些这样的平面图或类平面图上面查最短路是可以 \(O(q\sqrt n)\) 与 \(O(q\sqrt n\log n)\) 的,在上面独立集计数与匹配计数时可以 \(O(2^{\sqrt{2n}})\) 与 \(O(2^{\sqrt{n}})\) 的。这启发我们将其变为一个类平面图的最短路问题。

不难发现这样的小的 \(\text{seperator}\) 实际上是可以被找到的,当 \(m\) 很小的时候显然,如果将所有数事先对 \(0\) 取 \(\text{max}\),则选择的相邻的两个数的距离不会超过 \(2m\),则我们找到了一组 \(O(m)\) 的 \(\text{seperator}\)。而当 \(m\) 很大的时候,网格划归后相当于求一个 \(\lceil \frac{n}{m} \rceil+1\) 行 \(m\) 列的网格图只能往右或下走的最长路问题,特别的,如果走到了右边界可以悬空一行在挪至左边界,不过这意味着其至少经过了一个右边界,直接取所有右边界即构成了一组 \(O(\frac{n}{m})\) 的 \(\text{seperator}\),可以把这个 \(\text{case}\) 判掉。此时由于网格图的性质,我们总能找到一个 \(O(\sqrt n)\) 的 \(\text{seperator}\),迭代做即可。

如果按照 \(m\) 与 \(\sqrt n\) 的大小关系根号分治,则我们每次都可以找到一个 \(O(\sqrt n)\) 的 \(\text{seperator}\),由 \(T_{1}(n)=2T_{1}(\frac{n}{2})+O(n\sqrt n)\) 与 \(T_{2}(n)=T_{2}(\frac{n}{2})+O(q\sqrt n)\),用主定理可得复杂度为 \(O((n+q)\sqrt n\))。

标签:text,sum,Ynoi2005,qwq,sqrt,seperator,距离,leqslant
From: https://www.cnblogs.com/zhouhuanyi/p/17900945.html

相关文章

  • qwq
    电磁磁感应强度、安培力\[F=BIl,B=\dfrac{F}{Il}\]其中\(B\)的方向与通电导线(电流)方向垂直。\(F\)表示安培力,且垂直于\(B,I\)所在平面。\(B\)表示磁感应强度,用来描述磁场强弱。\[1T=1N/(A\cdotm)\]磁通量\[\varPhi=|B|S=\left|\dfrac{F}{Il}\right|S\]其中\(B\)......
  • P7907 [Ynoi2005] rmscne 题解
    P7907[Ynoi2005]rmscne题解退役前的最后一篇题解,献给Ynoi。再见了各位。题目大意给定一个长度为\(n\)的序列和\(m\)次查询,对于每次查询,给定\(l,r\),求出一个最短的子区间\([l',r']\),满足所有在区间\([l,r]\)中出现的数也在\([l',r']\)中出现过。题解题还是很......
  • P7907 [Ynoi2005] rmscne
    题意给定长为\(n\)的序列,\(q\)次询问区间\([l,r]\)的最短区间\([l',r']\),满足所有在\([l,r]\)中出现的数也在\([l',r']\)中出现,你只需要输出\([l',r']\)的长度即可。Sol离线,然后枚举\(r\)。考虑维护一个前缀的弱化版询问。设\([l,p_i]\)为满足当前区......
  • 个人主页qwq
    天热了,来口西瓜各位OIer,大家好!欢迎来到我的主页今日蒟蒻的状态颓废……推销1.FZQOJ[AcrylicFZQOJProMaxUltraSPlusXZift]功能美图优化(仅限于FZOIer们)简介:是由初一LYX同学主刀编写的,对于FZOI的一部分功能进行优化,方面如下:外观主题美化功能添加:对比题库(快速帮......
  • 暑期培训 Day 12 <做不完的题QWQ>
    今天来做做csp-j2022的题!!!怎么说呢,虽然说csp-j一般是初中生去考,但是对于我这种弱市弱校的超级蒟蒻,还是可以去看看的(becausecsp-s的题的难度都是普及+和提高,太难了QWQ,呜呜)-[1][CSP-j2022]乘方题目描述小文同学刚刚接触了信息学竞赛,有一天她遇到了这样一个题:给定正整......
  • 暑期竞赛配训 Day 1,本蒟蒻的第一篇题解qwq!
    洛谷P8725[蓝桥杯2020省AB3]画中漂流:-[1]读题:在梦境中,你踏上了一只木䇝,在江上漂流。根据对当地的了解,你知道在你下游D米处有一个峡谷,如果你向下游前进大于等于D米则必死无疑。现在你打响了急救电话,T秒后救援队会到达并将你救上岸。水流速度是1m/s,你现在有M点体力......
  • Cqwqshjs2
    1.输入一个整数,判断是偶数还是奇数(ifelse)intmain(){ inti; scanf("%d",&i); if(i%2==0) { printf("是偶数"); } else { printf("是奇数"); } return0;}2.根据月份判断季节,设2、3、4为春天,5、6、7为夏天,8、9、10为秋天,11、12、1为冬天(ifelseif)i......
  • 我也想推歌,于是放一下歌词QWQ
    拨开天空的乌云像蓝丝绒一样美丽我为你翻山越岭却无心看风景我想你身不由己每个念头有新的梦境但愿你没忘记我永远保护你不管风雨的打击全心全意两个人相互辉映......
  • qwq
    这是一个md现一&语言文字应用高中\(\rmwhk\)。现在的任务大概就是对这些东西建立起基本的认识和概念。实用类文本阅读实用类文本,顾名思义,就是说这个文本所讲述的......
  • CF1591F Non-equal Neighbours (容斥qwq)
    容斥神仙题qwq。题意给定一个长度为\(n\)的序列\(a_1,a_2,\cdots,a_n\),输出满足如下条件的序列\(x\)的方案数:\(1\leqx_i\leqa_i\)\(x_i\neqx_{i+1}(1\leqi......