首页 > 其他分享 >CF1163B2 Cat Party (Hard Edition) 题解

CF1163B2 Cat Party (Hard Edition) 题解

时间:2023-12-04 19:58:50浏览次数:57  
标签:cnt CF1163B2 题解 Hard maxv 次数 num ans 出现

题意:

思路:

对于满足条件的区间 $ [1,x] $ ,有如下三种情况:

$ 1 $ . 所有元素出现次数都为 $ 1 $ ;

$ 2 $ . 除了一个元素出现次数为 $ 1 $ 之外,其余元素出现次数都相等;

$ 3 $ . 除了一个出现次数比其他数的出现次数多 $ 1 $ 的元素之外,其余元素出现次数都相等。

在线处理:

设 $ cnt_i $ 表示数字 $ i $ 的出现次数, $ maxv $ 表示所有数字的出现次数的最大值, $ num_j $ 表示“出现次数 $ j $ ”的出现次数, $ ans $ 表示最终答案。

$ for i : 1 \to n $ 对每个输入 $ x $ 进行处理: $ num_{cnt_x} = num_{cnt_x} - 1 $ , $ cnt_x = cnt_x + 1 $ , $ num_{cnt_x} = num_{cnt_x} + 1 $ , $ maxv = max(maxv,num_{cnt_x}) $ 。

当 $ maxv = 1 $ 时,满足第一种情况,此时 $ ans = i $ ;

当 $ maxv * num_{maxv} = i - 1 $ 时,满足第二种情况,此时 $ ans = i $ ;

当 $ (maxv - 1) * (num_{maxv - 1} + 1) = i - 1 $ 时,满足第三种情况,此时 $ ans = i $ 。

标签:cnt,CF1163B2,题解,Hard,maxv,次数,num,ans,出现
From: https://www.cnblogs.com/ShawyYum/p/17875778.html

相关文章

  • CF1198B Welfare State 题解
    题意:有一个长度为$n$的序列$a$,给定$q$次操作,每次操作为以下两种之一:$1$.$1$$p$$x$:$a_p=x$$2$.$2$$x$:$a_i$$=$$max$$($$a_i$,$x$$)$$(1\lei\len)$求经过$q$次操作后的序列$a$。思路:$a_i$的最终值只受......
  • ABC331G 题解
    盒子里有\(n\)张\(m\)种卡片,第\(i\)种卡片有\(c_i\)张。\(\sumc_i=n\)。每次均匀随机选一张,再放回去。求拿出过的卡片包含全部种类所需要的取出次数的期望。对\(998244353\)取模。\(1\leqn,m\leq2e5,c_i\gt0\)。首先观察到,对于任意终止局面,最后取出的卡片一定......
  • CF1442D Sum 题解
    题目链接点击打开链接题目解法\(n^3\)的\(dp\)是显然的但我们没用到\(a\)不降的性质考虑一个很妙的结论:最优选法中,至多只有一个序列取了且未取满为什么?如果最优情况下,存在选且未选满的序列为\(a,b\),第一个未选的元素为\(x,y\)如果\(a_x>a_{pre_y}\),那么选\(x\)......
  • 洛谷 P1044 [NOIP2003 普及组] 栈 题解
    洛谷P1044[NOIP2003普及组]栈题解Sol本题通过分析可得:假设现在进行\(12\)次操作,我们把push认为是在地图上向右走,pop向上走,那么其中一个合法的步骤可以是(\(p1\)代表push,\(p2\)代表pop):\(p1,p1,p2,p1,p2,p2,p1,p1,p2,p2,p1,p2\)。而且我们发现,他最终会......
  • CF1692G 2^Sort 题解
    题意:思路:必要性:对于任意一个符合条件的区间$[l,r]$,任意相邻两项,满足$a_i<2*a_{i+1}(l\lei\ler-1)$。充分性:对于任意一个长度为$k+1$的区间$[l,r]$,如果任意相邻两项满足$a_i<2*a_{i+1}(l\lei\ler-1)$,那么该区间即为所求区间。......
  • CF1901 C Add, Divide and Floor 题解
    LinkCF1901CAdd,DivideandFloorQuestion给定一个长度为\(n\)的序列,每次操作你需要选择一个整数\(x\),并将所有\(a_i\)替换为\(\lfloor\frac{a_i+x}{2}\rfloor\)。求至少多少次操作后能将所有\(a_i\)变相同若最少次数小于等于\(n\),输出操作次数和每次操作所选......
  • Win11 Carla 安装教程 及 问题解决
    Win11Carla安装教程及问题解决Carlaversion:0.9.15Platform/OS:Windows11GPU:NVIDIAGeForceMX350RAM:16GBCarla下载地址:Releases·carla-simulator/carla·GitHub下载完成后解压,运行CarlaUE4.exe出现报错:Outofvideomemorytryingtoallocatearen......
  • CF1902 D Robot Queries 题解
    LinkCF1902DRobotQueriesQuestionRobot初始在\((0,0)\),有一个字符串\(s\),表示运行列表\(U\):y+1\(D\):y-1\(L\):x-1\(R\):x+1之后有\(Q\)次询问,有\(L,R,x,y\),问把运行序列的\([L,R]\)反转,Robot是否经过了点\((x,y)\)Solution显然,对于一个区间\([L,R]\)......
  • win10 访问 ubuntu 虚拟机 上的Django web 服务 操作 和 问题解决
    虚拟机版本VMware16proubuntu版本 Ubuntu22.04.1LTS 第一步:虚拟机设置NATEdit>VirtualNetworkEditor修改配置更改DHCP设置要注意ip地址要用在虚拟机Ubuntu系统中的网段范围 在NAT添加端口转发 查看ubuntu防火墙sudoufwstatus Status:ina......
  • CF1902 C Insert and Equalize 题解
    LinkCF1902CInsertandEqualizeQuestion有一个\(n\)个元素的数组\(a\),每个元素都不一样现在我们需要在\(a\)中添加一个数字\(a_{n+1}\),和之前的元素都不一样然后选择一个数\(x\),可以在一个元素上加\(x\),为操作一次,(每次加的数都是\(x\))求,操作的最少次数Solution......