首页 > 其他分享 >BLAST.tv Paris Major 2023 观后感

BLAST.tv Paris Major 2023 观后感

时间:2023-05-11 09:46:36浏览次数:55  
标签:Major 观后感 cnt tv 绝对 mid 众数 区间 major

摩尔投票

方法:

大概操作就是记录一个 \(major,cnt\) ,顺序遍历数组 \(a\),假设遍历到了第 \(i\) 个,当 \(cnt=0\) 时让 \(major=a_i\) , 当 \(cnt\) 不为 \(0\) 时,如果 \(a_i=major\) 让 \(cnt\) 加 \(1\) ,否则减 \(1\)

这样做的时间复杂度是 \(O(n)\) 的,空间复杂度是 \(O(1)\) 的。

注意这个是有绝对众数的时候才是对的。

拓展:

现在你要求出现次数超过 \(\frac{n}{k}​\) 的,显然数的个数是小于 \(k​\) 的,不然 \(n​\) 个肯定不够

其实做法和上面差不多,现在要开两个数组 \(major_i,cnt_i\)

操作:

首先如果 \(x\) 本身是候选者的话,则对其出现次数加一

如果不是的话,如果有 \(cnt=0\) 的位置那么就让 \(x\) 成为候选者,出现次数变为 \(1\),否则让所有候选者出现次数减 \(1\)

注意这个不一定所有都是对的,但是正确的答案一定包括

这个万一就感觉有点抽象了,所以还是证明一下吧

考虑反证法,假设 \(x​\) 出现了 \(y>\frac{n}{k}​\) 次,但是他不在答案里面

  1. 他就没有进入过 \(major\) 数组:那么他肯定让所有候选者减去了 \(y\) 次,但是由 \(y>\frac{n}{k}\) 知 \(y\times k > n\) 不符合题意
  2. 他进入过然后被干掉了:同理,他被干掉了说明肯定所有候选者都减去了 \(y\) 次,同上,还是寄

那么摩尔投票有什么用呢?

摩尔投票具有结合律,可以用 \(ds\) 乱搞

这玩意就和线性基很像,就直接把一个插进另一个就行了

CF643G Choosing Ads

就是板子

code

更加神奇的东西

其实感觉和摩尔投票没啥关系了

假设我现在猜一手区间众数为 \(x​\) ,现在就可以把等于 \(x​\) 的设为 \(1​\) ,否则设为 \(-1​\) ,这样 \(\text{chk}​\) 一个区间是否众数是 \(x​\) 就可以 \(O(1)​\) 了

因为是绝对众数,所以我枚举一遍我猜的众数就可以求出所有区间的众数了,但是这是 \(O(n^2)​\) 的

但是还有性质

标签:Major,观后感,cnt,tv,绝对,mid,众数,区间,major
From: https://www.cnblogs.com/lnyx/p/17390054.html

相关文章

  • C# WinForm 控件美化之改变ListView Head 的背景色
    方法1:(已测试)给ListView添加以下事件,改实例DataList为控件名称privatevoidDataList_DrawColumnHeader(objectsender,DrawListViewColumnHeaderEventArgse){e.Graphics.FillRectangle(newSolidBrush(Color.Black),e.Bounds);//设置背景颜......
  • AntV
    AntV入门接触背景今天是写着大论文的日子。吃饭的时候突然看到B站体验科技发了新的视频,是个好看的小姐姐——缨缨的自传,其为S2的负责人,那也正好借此机会入门AntV。简单说一下AVA产品矩阵:常规数据统计:G2-G2Plot、S2关系数据:G6-Graphin、X6-XFLOW地理空间数据:L7-L7Plot......
  • citect使用CitectVBA脚本获取本机IP地址
    这是我在新浪写过的一个笔记,在这里也记录一遍。新浪博客地址citect使用CitectVBA脚本获取本机IP地址_来自金沙江的小鱼_新浪博客(sina.com.cn)最近现场计算机上需要获取IP地址来做一些功能,简单得查询了一下网络,还是很好实现的。新建一个citectVBA函数FunctionGetIPAddress()......
  • Android TextView 设置超链接、关键字高亮等效果
    之前做TextView关键字高亮效果,使用的是Html.fromHtml(Stringsource)方法,然后通过TextView的setText(CharSequencetext)方法来显示后来测试此方法在部分手机上显示有问题,如Nexus4,华为P6等等。于是乎只能继续寻找别的解决办法了,在这里Mark一下。这里用到了SpannableString类......
  • scandir,major和minor,state,无锁机制----比较交换CAS Compare And Swap,dirent,sprintf,fop
    文章目录1.Linuxc目录操作函数scandir2.Linux系统设备(device)的major和minornumber3.state4.无锁机制----比较交换CASCompareAndSwap5.dirent6.sprintf7.fopen8.atoi函数9.strtok10.strtol1.Linuxc目录操作函数scandir(1)头文件:#include<dirent.h>定义函数:intscandir(......
  • 《软件需求模式》观后感-1
    书中简单的将需求定义为:需求就是定义系统需要做什么而不是怎么做。需求也是有一些原则的,1)定义问题而不是解决方案,2)定义系统而不是项目,3)区分正式和非正式部分,4)避免重复,在几种需求流程中,我们了解到每种需求流程都有自身的优点和缺点,传统需求流程比较规规矩矩,这样可以使项目需求......
  • Delphi的TValue探索
    一、TValue结构TValue定义在System.Rtti.pas通过调用Make(...),将任意类型数据转换为TValue通过调用ExtractRawData(...),ExtractRawDataNoCopy(...)将TValue转换为任意数据类型,两者区别是ExtractRawDataNoCopy转换时在堆中申请内存的数据,而ExtractRawData是安全的。GetRefere......
  • TVM 中的 Profiler 设计
    一、基本用法首先看Profiler的用法:withms.Profiler()asprofiler:#....用户代码print("TuningTime:")print(profiler.table())二、前端接口设计其中Profiler类的设计是绑定和映射到了C++端的接口上。Profile提供了Context语义,支持with语句。@re......
  • 让ListView中有些长按时能弹出contextMenu,有些不能。
    android开发的时候,定义了一个listView,并为他设置了setOnCreateContextMenuListener的监听,但是这样做只能使这个listView中的所有项在长按的时候弹出contextMenu。我希望的是有些长按时能弹出contextMenu,有些不能。解决这个问题的办法是为这个listView设置s......
  • 在ScrollView添加一个ListView造成的滚动问题的简单解决办法
    已不推荐!推荐:http://gundumw100.iteye.com/blog/1732987正常来说,在ScrollView添加一个ListView后在真机上只会显示ListView的一行多一点,我也不理解为什么会这样,后来我把ListView的layout_height改成400dip,而不是用match_parent和wrap_content,我发现这样的话ListView就显示的多了很......