首页 > 其他分享 >CF1463F Max Correct Set

CF1463F Max Correct Set

时间:2024-05-27 19:55:06浏览次数:22  
标签:Set Max CF1463F 循环 复制 Correct

Max Correct Set

考虑 \(n\) 的范围那么大, 肯定要找到神秘结论。 所以瞎考虑 \(x = y\) 的情况, 不难想到放 \(x\) 个连续的数, 再空 \(x\) 个不
放, 再放 \(x\) 个连续的。

再考虑 \(x \not= y\) 的情况, 我们猜测依旧是按循环节长度 \(x + y\) 一直放。
结论:求出 \([1, x + y]\) 范围内最大长度, 那么后面的直接复制。
证明:

必要性: 假设存在 \(i, j\) 使 \(j - i = x\), 且 \(i, j\) 在不同的块里, 那么就有 \(i, j -x - y\) 在同一块里, 但是根据条件, 同一块不存在 \(i, j - x - y\), 因为 \(j - x - y - i = y\), 所以是必要条件。

充分性:如果复制第一个循环节不是最优的, 即存在某个循环节可以选出更多的数, 那我们可以直接选取那个循环节作为第一个循环节, 所以得证。

标签:Set,Max,CF1463F,循环,复制,Correct
From: https://www.cnblogs.com/qerrj/p/18216407

相关文章

  • Android Toast弹出消息在指定位置(setGravity)
    importandroid.widget.Toastimportandroid.view.Gravity默认Toast是显示在底部的,可以通过以下方法让其显示在顶部正中Toasttoast=Toast.makeText(SearchActivity.this,"取消关注失败",Toast.LENGTH_SHORT);toast.setGravity(Gravity.CENTER,0,0);toast.show();这样......
  • 解决MySQL安装卡在Start Service、Apply security settings问题
    一般进行1-3步骤即可。1.应用程序,卸载MySQL2.删除MySQL安装目录内容C:\ProgramFiles\MySQLC:\ProgramFiles(x86)\MySQL 3.删除MySQL数据存放目录,一般在C:\ProgramData\MySQL目录下(需要注意这个文件夹默认是隐藏的,要通过查看->隐藏的项目)4.删除注册表数据,通过regedit......
  • Charles 弱网测试【Throttle Setting】
           不开弱网:      开启弱网:       开启弱网后: ......
  • 软考高级之redis中使用zset实现延迟队列,你答对了么?
    实现延迟队列的思路zset的特性,带有分数的排序,以时间戳作为分数进行排序添加任务zdd取出任务zrangbyscore执行任务zrem定时任务publicstaticvoidmain(String[]args){Jedisjedis=newJedis("ip",6379);TimerTasktask=newTimerTask()......
  • C++容器之无序集(std::unordered_set)
    目录1概述2使用实例3接口使用3.1construct3.2assigns3.3iterators3.4capacity3.5find3.6count3.7equal_range3.8emplace3.9emplace_hint3.10insert3.11erase3.12clear3.13swap3.14bucket_count3.15max_bucket_count3.16bucket_s......
  • Content-Type 'application/json;charset=UTF-8' is not supported异常解决
    Content-Type'application/json;charset=UTF-8'isnotsupported异常解决前提:确定不是因为Content-Type导致的异常,controller层有注解@RequestBody。报错详情:确定不是因为缺少Jackson依赖或者版本过低:注意到报错信息上边有一条警告日志:.c.j.MappingJackson2HttpMessageCo......
  • Settings里面切换不同Launcher的代码流程
    1.Android\packages\modules\Permission\PermissionController中的DefaultAppActivity中接收,根据packagename进行追踪路径如下:DefaultAppActivity.java--->HandheldDefaultAppFragment.java--->DefaultAppChildFragment.java:setDefaultApp()--->ManageRoleHolderState......
  • Redis 源码学习记录:集合 (set)
    无序集合Redis源码版本:Redis-6.0.9,本篇文章无序集合的代码均在intset.h/intset.c文件中。Redis通常使用字典结构保存用户集合数据,字典键存储集合元素,字典值为空。如果一个集合全是整数,则使用字典国语浪费内存。为此,Redis设计了intset数据结构,专门用来保存整数......
  • Qt - Qt6中QTextStream类的setCodec方法没有了,怎么解决写中文文本乱码
    简介场景:程序在linux下运行,将中英文写入文本,将文本在windows上打开时,中文出现乱码 原Qt5中:QFilefile;file.open(QIODevice::WriteOnly|QIODevice::Text);QTextStreamtextStream(&file);textStream.setCodec("GBK");使用 QTextStream类的 setCodec方法即可解决上......
  • CF1973F Maximum GCD Sum Queries 题解
    题目链接点击打开链接题目解法首先想到枚举两个数列的$\gcd$,求最小代价两个数列的\(\gcd\)应该分别是\(a_1,b_1\)的因数或\(b_1,a_1\)的因数这样就把枚举范围缩小到了\(d(a_1)\timesd(b_1)\),这求最小代价需要\(O(n)\),不够快假设枚举的\(\gcd\)分别为\(x,y\)......