首页 > 其他分享 >ARC 杂碎

ARC 杂碎

时间:2024-08-08 22:54:27浏览次数:7  
标签:cdot 杂碎 ARC abs sim sum dp

ARC 178 B

原问题困难的时候,可以考虑容斥。

ARC 178 C

转换题。原先转换错了(其实是不可做),导致耗时比较久。

首先我们算 \(\sum abs\) 可以先排序,大的减小的,这样可以去掉 \(abs\)。有两种转换方法:

  • \(\sum abs=\sum_{i=1-(n\mod 2)}^{n-1}b_i\times i\),其中要保证 \(b_{i-1}\le b_i\)。这个其实就是我们首尾差,两个减/加次数相同。

  • \(\sum abs=\sum_{i=1}^{n-1}i\cdot b_i\cdot (n-i)\)。这个其实就是我们差分一下,算出 \(\sum abs=\sum c_i\),\(c_i=c_{i-1}+(i-1)\cdot b_i\)。

第二个可以用,因为限制少,我们要最小化 \(\sum b_i\)(而不是 \(\max\)),比较好做。可以发现 \(i(n-i)\) 会比较大,所以直接 \(dp\) 是正确的。复杂度大概 \(\mathcal{O}(n\sqrt{A})\) 左右。

ARC 178 D

第一次(?)独立做出 arc 评分 \(\sim 2500\) 的题,记之。

MEX 我们肯定是从大的往小的删,因为小的先删了肯定不能再删更大的了。然后如果我们要删掉 \(i\),那么 \(0\sim i-1\) 必定是在 \(i\) 的左边或者右边(不能两边都有否则包含 \(i\))。

一个立马想到的思路就是从大往小确定枚举是在左边还是右边,但是发现 \(a\) 要是子序列这个很难搞。所以不如确定下来 \(a\) 再插空填不在 \(a\) 中的,设为 \(b\) 数组。一共有 \(m+1\) 个空隙。

我们可以维护要填一个数 \(b_i\) 的时候我们可以填的空隙。这个不可以填的空隙一定是一个连续的区间。这个是因为不能填的地方就是 \(<b_i\) 的区间,我们必须要在左边或者右边。

设 \(dp_{x,l,r}\) 为确定了 \(b_0\sim b_x\),目前 \(b_{x+1}\) 可以填的区间是 \(l\sim r\) 空隙。那么我们填 \(b_{i+1}\) 的时候,先把 \(a\) 中 \(b_i+1\sim b_{i+1}-1\) 的数至少要用到的区间和 \(l\sim r\) 合并,设为 \([L,R]\)。则 \(dp_{x+1,1\sim L,R}\) 和 \(dp_{x+1,L,R\sim m+1}\) 都要加上 \(dp_{x,l,r}\)。这个可以查分一下再前缀和。

注意 \(b_0=0\) 和 \(b_0\neq 0\) 不同考虑。复杂度 \(\mathcal{O}(m^3)\)。

标签:cdot,杂碎,ARC,abs,sim,sum,dp
From: https://www.cnblogs.com/SFlyer/p/18349909

相关文章

  • C++ Rect And Point Search Algorithm
    测试 ////Createdbywwwon2024/8/8.//#include"include/cxstructs.h"#include"include/cxml/k-NN.h"//可扩展Rect内搜索子Rect或PointvoidtestRectSearch(){usingnamespacecxstructs;std::random_devicerd;std::mt19937gen(rd()......
  • [ARC181F] Colorful Reversi
    MyBlogs[ARC181F]ColorfulReversi首先观察一下,对于\(a,b,c,a\)这种情况来说,两个\(a\)之间永远不可能发生操作。而\(a,b,c,b,a\)这种情况,两个\(a\)之间是有关联的。有一个很天才的想法是建树,一开始只有一个节点表示\(a_1\),维护一个指针\(pos\)表示当前在树上的哪个......
  • php: 操作elasticsearch的别名
    一,添加别名1,代码://初始化es的client$client=$this->_init_es();//确定参数$params=['index'=>'gs_second',//索引名字'name'=>'gs_second_idx',//索引的别名......
  • [ARC181E] Min and Max at the edge
    MyBlogs[ARC181E]MinandMaxattheedge场上没人过的神题。(大概是搬运的官方题解)先考虑如何chk一个图是否存在好生成树。观察好生成树的限制,发现其对于非树边的限制是在生成树上连接两点的路径有关。而Kruskal的证明就是对于每条非树边,其边权大于所有其路径上的树边,两......
  • elasticsearch: 指定索引数据的保存目录
    一,查看节点的fs得到索引数据的保存目录说明:修改索引数据的保存目录,通常是因为要把数据单独保存到服务器专用的数据盘,方便扩展\管理\备份等访问:http://localhost:9200/_nodes/stats/fs 也可以从命令行访问:[root@lhdpcelasticsearch]#curl-XGET"localhost:9200/_no......
  • ArcGIS API for JavaScript 3.x 到 4.x 的升级手册
    众所周知,3.x版本主要是构建二维地图,且基本不会再添加新功能;而4.x版本主要是构建于三维地图,与3.x相比并不是简单的升级,基本上就是重写了。所以当我们需要把API从3.x升级到4.x时,应用程序基本上是需要重写的,这里将对API升级过程中涉及到的相关变动进行记录与描述。以下......
  • ELK Elasticsearch 集群部署
    ELKElasticsearch集群部署数据流向:1、后台服务器产生的日志由filebeat收集通过logstasg进行标准化处理,传输给es1、es2(两个是一个主备的关系,数据都是一致的),然后传输给可视化设备。有了flebeat可以节省资源,可以通过filebeat和logstash实现远程数据收集。filereat不能......
  • Elasticsearch:用例、架构和 6 个最佳实践
    1.什么是Elasticsearch?Elasticsearch是一个开源分布式搜索和分析引擎,专为处理大量数据而设计。它建立在ApacheLucene之上,并由Elastic支持。Elasticsearch用于近乎实时地存储、搜索和分析结构化和非结构化数据。Elasticsearch的一个主要特性是其可扩展性,这使得......
  • ArcPro (3.2+) Python 脚本工具中从 .atbx Toolbox 相对导入本地模块
    我设置了一个库和关联的ArcGISToolbox,以便:/root├──Toolbox.atbx├──mylib│└──my_function.py├──my_tools│└──my_gp_script.py我将代码存储库的开发克隆保存在公司共享服务器上的一个位置,并在GitHub上托管一份副本。当我进行更新时,我会......
  • ARC181总结
    ARC181总结ARC还是太难了A标签:有脑子......