首页 > 其他分享 >22冲刺day9

22冲刺day9

时间:2023-10-04 16:25:31浏览次数:20  
标签:geq 22 day9 sum 冲刺 leq 最小值 端点 逆序

T1. 逆序对

给出一个长度为 \(n\) 的排列 \(a\),你需要交换其中两个元素,使得逆序对尽可能少,输出逆序对变化量。

\(1 \leq n \leq 10^6\)

先推式子,考虑交换 \(x,y(x\leq y)\) 两个位置的逆序对变化量。

容易发现逆序对减少了:

\[\sum_{k=x+1}^{y-1}[a_k\leq a_x]+\sum_{k=x+1}^{y-1}[a_k\geq a_y]-\sum_{k=x+1}^{y-1}[a_k\geq a_x]-\sum_{k=x+1}^{y-1}[a_k\leq a_y]+[a_i\geq a_j] \]

且若上式大于 \(0\),则 \(a_i\leq a_j\)。而我们只需要考虑大于 \(0\) 的情况,所以上式可以化简得:

\[2\times\left(\sum_{k=x+1}^{y-1}[a_k\leq a_x]-\sum_{k=x+1}^{x+1}[a_k\leq a_y]\right)+1 \]

于是只需要高效计算上面的两和式之差即可。

先考虑如果存在一个 \(z\),使得 \(z\leq x,a_z \geq a_x\),则选 \(z\) 当左端点一定比选 \(x\) 不劣。如果存在一个 \(z\) 使得 \(z\geq y,a_z\leq a_y\) 则选 \(z\) 当右端点一定比选 \(y\) 不劣。

所以左端点一定是 \(a\) 的前缀最大值,右端点一定是 \(b\) 的后缀最小值。

然后我们维护和式较为不便,正难则反,我们可以维护一个东西可以对和式产生贡献。

如果将 \((l,r)\) 看成坐标轴上的一个点,则我们对于每一个元素 \(i\),可以找到最左侧的值比 \(a_i\) 小的前缀最大值位置 \(x_1\) 和最左侧的位置比 \(i\) 小的前缀最大值位置 \(x_2\)。

找到最右侧值比 \(a_i\) 小与等于的后缀最小值位置 \(y_1\) 和 最右侧的位置比 \(i\) 小于等于的后缀最小值 \(y_2\)。

则 \(x_1 \leq l \leq x_2,y_1 \leq r \leq y_2\) 就会因为 \(i\) 产生 \(1\) 的贡献。注意这里的 \(l,r\) 只得是前缀最大/后缀最小值的下标。可以看成一个矩形。

于是你可以用扫描线找到矩形覆盖最多的一个点覆盖了多少下,就是上面的和式之差。

标签:geq,22,day9,sum,冲刺,leq,最小值,端点,逆序
From: https://www.cnblogs.com/zheyuanxie/p/17742391.html

相关文章

  • 题解 CF1034C【Region Separation】/ SS221116D【Xiong AK 10 IOI】
    很妙的性质题!全是意识流证明见过吗?problem每次选一个非空边集删掉,谓之曰砍树。砍树后需要满足每个连通块的点权和相同。在一个方案中可以砍很多次树,都要满足砍树后的要求。一共有多少种合法方案呢?\(n\leq10^6,1\leqa_i\leq10^9\)。solution假如我们将树砍成\(k\)个连通......
  • 2022 CCPC 绵阳 M
    2022ChinaCollegiateProgrammingContest(CCPC)MianyangOnsiteM.Rock-Paper-ScissorsPyramid思路:这题推了好久,队友用递归写的。赛后我写这个题的时候,确实难推,用到了单调栈的思想。考虑对于一个\(P_{n-1}\)阶的三角形推出第\(P_{n}\)阶的三角形,考虑它的本质是什么?考虑当......
  • The 2022 ICPC 南京 ADG
    The2022ICPCAsiaNanjingRegionalContestA.Stop,YesterdayPleaseNoMore思路:因为袋鼠是同时移动的,所以我们可以不考虑袋鼠怎么动,而去考虑边界怎么动。所以我们先不考虑洞的影响,先确定哪些会因为边界而离开。确定好最终边界,再进行一次模拟,加入有洞的情况,发现洞产生的路径......
  • NOIP2022 比赛
    Day\(2^2+3^2+4^2\)。HNOI2016序列的加强版。我去年怎么这么菜啊,虽然现在也是就是了。\[\sum\limits_{[l,r]\in[L,R]}\left(\max\limits_{i\in[l,r]}a_i\right)\left(\max\limits_{i\in[l,r]}b_i\right)\]考虑离线,对右端点\(r\)扫描线,对每个左端点\(l\)维护\(S_l=\le......
  • 20213227《计算机基础与程序设计》第一周学习总结
    作业信息1.作业属于哪个课程:https://edu.cnblogs.com/campus/besti/2023-2024-1-CFAP2.这个作业要求在哪里:https://edu.cnblogs.com/campus/besti/2022-2023-1-CFAP/homework/127543.作业的目标:快速浏览教材《计算机科学概论》,提出自己不懂或最想解决的问题4.作业正文:第一章......
  • ABC322
    T1:FirstABC2模拟代码实现#include<bits/stdc++.h>usingnamespacestd;intmain(){intn;strings;cin>>n>>s;autoi=s.find("ABC");if(i==string::npos)cout<<-1<<'\n�......
  • math---记录冲刺阶段的各种问题以及一些错题
    一、二维平面下的积分(包括直角坐标系、极坐标、参数方程的下的面积、弧长、侧面积和体积公式以及一些拓展)问题来源:2003年数二真题填空题第四题开门红 这道题极其的简单,却折射出了我的很多问题我发现我对极坐标下的各种积分都有很大程度的遗忘,有的积分公式甚至一点印象都没......
  • Abaqus2022下载|Abaqus2022(工程模拟分析软件) 安装包下载方式
    Abaqus是一款广泛应用于工程和科学领域的有限元分析(FEA)软件。它由达索系统(DassaultSystèmes)的Simulia品牌开发,用于模拟和分析各种工程问题。其支持多物理场耦合、材料建模、大型装配体分析等特点,使其成为工程领域的首选工具之一。软件地址:看置顶贴abaqus和ansys哪个好由于Ansys产......
  • Abaqus 2022最新版下载-Abaqus 2022软件安装包下载 安装包下载
    abaqus电脑版软件能够帮助你在电脑上面进行各种有限元结构的分析与模拟测试,而且可以做到多数据一起分析,提高了计算的效率,而且使用起来非常简单,让使用者非常舒心!被广泛地认为是功能最强的有限元软件,可以分析复杂的固体力学结构力学系统,特别是能够驾驭非常庞大复杂的问题和模拟高度......
  • 2023信友队提高组复赛冲刺班 10.2赛后总结
    T1:区块链赛场上还以为很难,直接打表,80pts。本来以为还不错,结果一堆人AC,吐血!算了,还是来说说正解吧,说多了都是血和泪啊啊啊!先对开头的公式进行变形,得到:nb/(b-n)xorb=a通过大量的样例我们可以发现,当b=n+1时,nb/(b-n)取到最大值这是为什么呢?我们可以来证明一下:∵ nb/(b-n)是......