首页 > 其他分享 >CF1446D1 题解

CF1446D1 题解

时间:2022-09-22 11:46:27浏览次数:72  
标签:题解 CF1446D1 次数 序列 答案 众数 区间

传送门

题意

给定序列 \(a_1,a_2,...,a_n\) ,求最长的满足区间众数有至少两种的区间长度。
\(n≤2×10^5,1≤a_i≤min(100,n)\)

题解

首先,若整个序列有至少两种众数,则答案为 \(n\) 。
否则,答案区间一定包含序列的众数。
证明:若答案区间不包含序列的众数 \(x\),其众数为 \(y\)。则将答案区间向两边扩展,必定会有一个时候,满足 \(x\) 出现次数等于 \(y\)。
注意到 \(a_i≤100\),则可以枚举一个 \(y\),使得 \(x\) 与 \(y\) 是答案区间的众数。问题转化为:求最大的区间使得 \(x\) 与 \(y\) 出现次数相等,且没有其他数出现次数大于之。
此时依然不易解决。注意到:若区间中有 \(z\) 的出现次数大于 \(x\) 和 \(y\),则可以扩展区间,使得 \(x\) 与 \(z\) 出现次数相等。于是我们可以不用考虑“且没有其他数出现次数大于之”的条件了。
此时问题进一步转化为:求最大的区间使得 \(x\) 与 \(y\) 出现次数相等。将 \(x\) 设为 \(1\),\(y\) 设为 \(-1\),其他为 \(0\)。用桶线性解决。

标签:题解,CF1446D1,次数,序列,答案,众数,区间
From: https://www.cnblogs.com/FishJokes/p/16718591.html

相关文章

  • 题解【CF1307F Cow and Vacation】
    感觉CF*3300的难度没有这么简单吧(题目传送门。考虑\(\texttt{Bessie}\)运动的过程:起点\(\to\)休息点$\to$\(\cdots\)\(\to\)休息点\(\to\)终点。考虑我们......
  • 2 つの山札题解
    题目链接题意简述:给定两个长度为\(n\)的排列\(A\)和\(B\),按照一下方式生成一个长度为\(2n-2\)的序列:你对每一个排列分别做\(n-1\)次操作,每一次选择一个序列进行......
  • 题解 P7839 「Wdoi-3」夜雀 singing (思路非常好的一道题)
    代码细节非常多的一道题。这里只说思想了先。首先,找到那些安全树。所有的乌鸦最后一定会到达某一棵安全树上。因此,对于每只乌鸦,分别向左和向右暴力寻找,看是否可到达安全......
  • FCKEditor粘贴word图片问题解决
    ​ 当前功能基于PHP,其它语言流程大致相同 1.新增上传wordjson配置在ueditor\php\config.json中新增如下配置:     /* 上传word配置 */    "wordAction......
  • IDE//VS//VS2017,VS2019没有代码提示的问题解决
    IDE//VS//VS2017,VS2019没有代码提示的问题解决小小菜鸡于2022-07-2815:24:44发布235 收藏文章标签:idec++visualstudio版权开始菜单-->所有程序–>VisualStudi......
  • 牛客题解 卡牌游戏
    链接:https://ac.nowcoder.com/acm/problem/19777来源:牛客网题解作者岛田小雅在这里先贴一下OIWiki上期望的定义。根据期望的定义和题意,我们可以这样去思考这道高......
  • Mac系统用Maven本地引入jar包报错问题解决
    打包命令mvninstall:install-file-Dfile=/Users/用户名/tool/selenium-server-standalone-3.9.1.jar-DgroupId=org.selenium-DartifactId=selenium-server-standalone......
  • CSP-S模拟6 题解
    开个坑,今后我要写题解了!A.玩水挺有趣的一道题,我们首先从\(2\)条路径的情况考虑符合答案的路径一定满足这种格式:两条路径先重合,再分开,最后再重合观察一下,注意到第一......
  • CF1720E Misha and Paintings 题解
    神仙2700。首先统计出原数组中不同元素个数记作\(cnt\),如果\(cnt\lek\)说明元素个数不够,由于一次只能加一个颜色因此答案就是\(k-cnt\)。然后接下来要证明一个结论......
  • Codeforces Round #821(Div.2) (A-C) 题解
    CodeforcesRound#821(Div.2)(A-C)  A.ConsecutiveSum大致题意给定一组共n个数据,如果俩个数的下标在modk意义下同余,则可以交换a[I]和a[j] ,求操作后一段......