首页 > 其他分享 >ARC 板贺

ARC 板贺

时间:2023-10-29 21:37:10浏览次数:23  
标签:二分 AtCoder 连通 板贺 dfrac ARC 哈希 最小化

仅存不会的题。

AtCoder [ARC099B] Snuke Numbers

一种题目:要求 列出 前 \(k\) 小 的所有满足条件的数。

这时候有个 Trick:可以考虑求一个 \(f(n)\) 表示 \(\ge n\) 的最小的满足条件的数。这样就可以从 \(f(1)\) 出发跳 \(k-1\) 次 \(f(n+1)\) 求出前 \(k\) 小的 \(n\)。

此题中,\(f(n)\) 即为 \(\ge n\) 的数中最小化 \(\dfrac{n}{S(n)}\) 的整数 \(n\),其中 \(S\) 为十进制下数位和。而 \(f\) 容易贪心求出,依次将 \(n\) 的最后若干位改为 \(9\) 即可。

AtCoder [ARC099C] Independence

将一给定无向图 按点集 分成两个 完全子图,判断是否可行;若可行,最小化 被任一子图完全包含的边 的数目。\(n\le700,m\le \dfrac{n(n-1)}{2}\)

众所周知 团 即为 补图 中的 独立集。观察 \(n,m\) 的范围可以想到建立补图。

这是因为考虑套路:把 划分问题转化为染色问题任一对同色节点相邻 变为补图中 任一对同色节点不相邻,后者即相当于:要求划分为一张二分图。这可以用染色法轻易解决。

断言:对于一个连通二分图,将其 二染色 的方案是 唯一 的(除交换左右部外)。
引理:对于一个非连通二分图,其每个连通块均为二分图(允许有一部为空)。

因此可以对所有连通块判断是否为二分图。若有不是者,则整个划分不可行。否则可以求出每个连通块的两部分点数 \(x,y\)。即转化为适当决定每组 \(x,y\) 分别 加入整个划分的左部还是右部

回到此题,相当于考虑两个点集大小为 \(a,b\),最小化 \(\dfrac{a(a-1)+b(b-1)}{2}\)。由于 \(n=a+b\) 及基本不等式,简单推式子可知相当于最小化 \(|a-b|\)。

这时候已经是 集合二划分最小化大小差 的板子题,直接用一个 可行性背包 就可以解决。

AtCoder [ARC099D] Eating Symbols Hard

对于这种状态内维护一个序列的逆题,直接对于进行序列哈希。发现传统哈希即可支持按位左移 / 右移 / 单点加减 / 差分,即得到 区间 哈希值,但是还需要考虑预处理 前缀 的位移和 \(p_i\) 用来计算,设基数为 \(x\),即:

\[h_{[l,r]}=\dfrac{h_r-h_{l-1}}{x^{p_{l-1}}} \]

设 \(k=h_{[1,n]}=h_n\),即统计使上式等于 \(k\) 的 \((l,r)\) 数目。为了做到 \(O(n)\),考虑:

\[k=\dfrac{h_r-h_{l-1}}{x^{p_{l-1}}} \]

\[h_r=k \cdot x^{p_{l-1}} + h_{l-1} \]

扫描线加上 map 随便统计即可。注意 Hash 强度,考虑双模数 / 双基底。

AtCoder [ARC100D] Colorful Sequences

标签:二分,AtCoder,连通,板贺,dfrac,ARC,哈希,最小化
From: https://www.cnblogs.com/Muelsyse/p/17796477.html

相关文章

  • NewStarCTF 2023 公开赛道 WEEK4|MISC 部分WP
    R通大残1、题目信息R通大残,打了99,补!2、解题方法仔细分析题目,联想到隐写的R通道。首先解释一下:R是储存红色的通道,通道里常见有R(红)、G(绿)、B(蓝)三个通道,如果关闭了R通道图片就没有红色的部分,G、B同理。因此我们想到R大残应该是不显示红色了,猜测结果就在R通道里,所以使用Stegsolv......
  • 【Elasticsearch】es脚本编程使用详解
    目录一、es脚本语言介绍1.1什么是es脚本1.2es脚本支持的语言1.3es脚本语言特点1.4es脚本使用场景二、环境准备2.1docker搭建es过程2.1.1拉取es镜像2.1.2启动容器2.1.3配置es参数2.1.4重启es容器并访问2.2docker搭建kibana过程2.2.1拉取kibana镜像2.2.2启动kibana容器2.......
  • 【杂题乱写】AtCoder-ARC114
    AtCoder-ARC114_ANotcoprime\(50\)内的质数只有\(15\)个,可能的答案也就只有\(2^{15}\)个,直接枚举。提交记录:Submission-AtCoderAtCoder-ARC114_BSpecialSubsets就是\(i\)与\(f_i\)连边,每个连通块都是基环树,一定能剥叶子变成环,所以答案就是连通块非空子集个数。......
  • ELK中 Elasticsearch和Logstash内存大小设置的考虑
    本文为博主原创,转载请注明出处:在ELK(Elasticsearch、Logstash和Kibana)日志采集和分析场景中,适当设置Logstash和Elasticsearch的内存大小非常重要。这可以确保系统能够高效地处理大量的日志数据,并提供快速的搜索和分析功能。对于Logstash和Elasticsearch的内存大小设置,没......
  • 【ArcPy】Python工具的参数校验
    在updateMessages方法中检查输入图层数据源的工作空间是否是本地数据,如果不是,设置错误。在updateParameters方法中从图层派生出第4个参数,即输出要素类的路径。注意该参数的类型需要是“派生(Derived)”importarcpyclassToolValidator(object):"""Classforvalidatingatoo......
  • ElasticSearch基础
    ES基本概念端口9300:ElasticSearch集群间组件通信端口9200:浏览器访问的http协议RESTful接口。http://localhost:9200Windows单机启动之前可能需要修改的部分地方config/elasticsearch.ymlxpack.security.enabled:false:改为false,禁用安全访问。bin/elasticsearch-env.ba......
  • 关于 Angular 的 hierarchical injector
    Angular的"dependencyinjection"是一种设计模式,它可以帮助我们更有效地组织和共享代码。在Angular中,我们可以通过注入服务(一个常见的可注入对象类型)到组件、指令或其他服务中,实现代码的复用和模块化。Angular的注入器系统是分层级的,也被称为"hierarchicalinjector"。这......
  • Python时间序列分析库介绍:statsmodels、tslearn、tssearch、tsfresh
    时间序列分析在金融和医疗保健等领域至关重要,在这些领域,理解随时间变化的数据模式至关重要。在本文中,我们将介绍四个主要的Python库——statmodels、tslearn、tssearch和tsfresh——每个库都针对时间序列分析的不同方面进行了定制。这些库为从预测到模式识别的任务提供了强大的工......
  • [ARC098F] Donation
    质量很大,孩子很喜欢......
  • ArcMap属性表出现乱码情况的解决
      本文介绍ArcMap软件打开图层的属性表后,出现字段中汉字乱码情况的解决方法。  有时在使用ArcMap软件时,会发现一些图层的属性表中,原本应该是中文的字段却出现乱码的情况;如下图所示,其中NAME99一栏应该是图层中各个要素对应的汉语名称,但却出现了数字、符号等乱码。  针对这......