首页 > 其他分享 >【杂题乱写】12 月北京省选杂题选讲 1

【杂题乱写】12 月北京省选杂题选讲 1

时间:2023-12-12 09:15:25浏览次数:31  
标签:12 乱写 出现 次数 众数 区间 全局 杂题

Page Views Count

F. CodeForces-1446D2 Frequency Problem (Hard Version) *3000

如果全局众数不唯一,则答案是 \(n\)。

可以发现一个性质:答案区间的众数一定包含全局众数。否则一定可以扩展这个区间直到全局众数成为区间众数,如果此时区间众数出现次数又增加了,那么可以继续扩展。

仔细思考这个性质,发现实际只要统计最长的区间使得存在某个数的出现次数大于等于全局众数出现次数即可,证明依旧套用上面的方法,如果是大于或者等于但不是区间众数,那么一定可以继续扩展。

于是得到 Easy Version 的 \(O(nV)\) 做法,枚举每个值 \(k\),维护前缀中全局众数与 \(k\) 出现次数之差,每次找这个差第一次出现位置更新答案。

基于值域做法考虑根号分治,那么出现次数大于 \(B\) 的部分已经解决了。

考虑出现次数小于 \(B\) 的部分,结合上面的性质,我们要找的区间 \([l,r]\) 应当满足 \(l-1\) 和 \(r+1\) 超过范围或者是全局众数,因为这样的 \([l,r]\) 可以看作固定全局众数出现次数的极长区间,也就是其他数的出现次数尽可能大。结合出现次数小于 \(B\),将每个不含全局众数的极长连续段看作整体,那么要找的区间只含 \(O(B)\) 个段。

考虑固定最左侧的段,暴力扫过每个段直到全局众数出现次数超过 \(B\),每次求众数时枚举最右侧段的数与加入这个段之前的众数比较,这样每个段被暴力枚举当且仅当作为一个区间最右侧的段,那么时间复杂度就是 \(O(nB)\)。

非常纯净,直接 \(B=\sqrt{n}\),时间复杂度 \(O(n\sqrt{n})\)。

提交记录:Submission - CodeForces

标签:12,乱写,出现,次数,众数,区间,全局,杂题
From: https://www.cnblogs.com/SoyTony/p/Lecture_Problems_of_Provincial_Team_Selection_in_Beijing

相关文章

  • 12 11
    第四部分:黄金标准1、刻意练习首先需要得到合理发展的行业或领域,简而言之,就是可以通过绩效或者评分来看出水平,并且最杰出的从业者已经达到一定水平。其次刻意练习需要一个已经达到一定水平的导师。 2、辨认出一个行业的杰出任务,研究他为什么与别人不同。一旦发现他的某些方法......
  • 2023年12月11日总结
    更好的观看总结今天是字符串专题,美好的一天从字符串开始。阿巴啊把啊把。智商下线,想不出什么词。膜拜将字符串掌握得炉火纯青的大佬。(是谁呢?先膜就是了)Manacher感觉思路和z函数好像哦。【模板】manacher发现还没写过模板,写一下。[SNCPC2019]Paper-cutting在二维上面的......
  • 12.11日记
    使用DataFrame有两个方式,分别是SQL语法和DSL语法➢SQL语法   1.通过"临时视图"来使用,所以先创建视图   2.通过sparkSession对象执行sql进行数据查询   scala>df.createOrReplaceTempView("user") //创建临时视图   scala>varviewdf=spark.sql("se......
  • 12.11每日总结
    今天进行了软件案例分析的大作业,下面是部分代码usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingSystem.Windows.Forms;......
  • #7 2023.12.4
    419.arc137cDistinctNumbers注意到如果\(a_{n-1}+1\neqa_{n}\),显然是先手必胜的。然后一个人显然不会主动走到这个状态,于是\([0,a_n]\)之内的每个数都要被遍历一遍。于是答案就和\(n-a_n\)的奇偶性有关了。420.arc137dPrefixXORs大概只跟\(n-i\)和\(j\)......
  • 闲话12.11
    我是haosen的......
  • 12.11每日总结
     今天复习四级考试和设计模式的内容。 设计模式主要复习了设计模式的发展来源和七大原则的内容。单一职责原则(SingleResponsibilityPrinciple)开放-关闭原则(Open-ClosedPrinciple)里氏替换原则(LiskovSubstitutionPrinciple)依赖倒转原则(DependenceInversi......
  • 2023.12 做题纪要 #1
    终于从学考中解脱出来了,做题纪要回归!11月下半个月发生的事情:考了个NOIP,游记在这,然后全力备战学考了,所以半个月没做题。本文大部分题的题单To-doList#2。题单的第一个题在上一篇做题纪要的最后。目录2023.12.10P9353[JOI2023Final]ModernMachine2023.12.11GYM102896F......
  • 力扣1200 最小绝对差
    Problem: 1200.最小绝对差思路先排序(用sort),找出最小绝对差,然后再次遍历添加数组classSolution{public:vector<vector<int>>minimumAbsDifference(vector<int>&arr){vector<vector<int>>res;sort(arr.begin(),arr.end());in......
  • 每日总结-23.12.11
    packagefanyi;importjava.awt.*;importjavax.swing.*;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;publicclassGUIextendsJFrameimplementsActionListener{privateJTextFieldoriginalText;privateJTextFieldtra......