首页 > 其他分享 >CF1879F Last Man Standing 题解

CF1879F Last Man Standing 题解

时间:2023-10-17 14:58:36浏览次数:43  
标签:Standing CF1879F lceil frac 题解 复杂度 sqrt rceil

原题

翻译

观察题目,容易发现当题目难度为 \(x\) 时一个 OIer 存活时间为 \(h_i \lceil \frac{a_i}{x} \rceil\)

发现 \(a_i\) 较小,所以我们先考虑暴力枚举 \(x \in [1, \max a_i]\) ,然后把原数组按 \(a_i\) 排个序,对于每组 \(\lceil \frac{a_i}{x} \rceil\) 相同的部分统一计算他们最大 And 次大的 \(h_i\) ,然后合并,最终复杂度 \(O(A \sqrt A \log n)\) ,原因是不同的 \(\lceil \frac{a_i}{x} \rceil\) 最多 \(O(\sqrt A)\) 组,而 \(O(\log n)\) 是二分的复杂度

我们发现虽然不同的 \(\lceil \frac{a_i}{x} \rceil\) 最多 \(O(\sqrt A)\) 组,但里面是很容易有很多组是空的,因此我们把 \(a_i\) 当成下标,里面存 \(h_i\) ,然后对于枚举的一个 \(x\) ,问题就变成了求 \(\frac{n}{x}\) 个区间的最大 And 次大值。我们想办法用一个数据结构维护这个东西。没错,st 表!

st 表维护次大值见这个帖子

最终复杂度 \(O(T A \ln A)\)

标签:Standing,CF1879F,lceil,frac,题解,复杂度,sqrt,rceil
From: https://www.cnblogs.com/fox-konata/p/17769676.html

相关文章

  • visual studio智能提示出现慢的问题解决办法
    VisualStudio智能提示出现慢的问题解决办法如下:清理VisualStudio缓存。通过"文件"→"打开文件或项目"→"取消"→"是,清理所有项目"进行清理。清理VisualStudio实例。通过"文件"→"关闭解决方案"进行清理。重置用户数据。打开VisualStudio的开发人员命令提示符,输入devenv.ex......
  • CF1680F Lenient Vertex Cover 题解
    CF1680FLenientVertexCover题解这道题和「JOISC2014Day3」电压非常类似,或者说就是一道题。题意就是给你一个图,问能否对所有点黑白染色,允许最多一条边的两个顶点都染成黑色。黑白染色后其实就是一个二分图,那如果有一条边的两个顶点染成黑色,就是说去掉该边后,剩下的图为二分......
  • 题解:CF237D
    题目传送门思路构造\(k\)个集合,使这些集合满足以下性质:集合的并集为\(V\)。对于树\(s\)中的任意一条边\((a,b)\),都能在\(k\)个集合中找到一个集合\(x\)使得\(a,b\inx\)。对于树\(s\)中的任意一个点\(a\),所有在\(k\)个集合中包含了\(a\)的集合构成了......
  • 题解 P7468【[NOI Online 2021 提高组] 愤怒的小 N】
    题解P7468【[NOIOnline2021提高组]愤怒的小N】problem首先是有一个字符串\(S=\texttt{"0"}\),做无限次“将\(S\)的每一位取反接在\(S\)后面”的操作,形如\(S=0110100110010110\cdots\)。另外给一个\(k-1\)次多项式\(f\),求\(\sum_{i=0}^{n-1}S_if(i).\)\(n\leq......
  • 题解 ABC267F【Exactly K Steps】
    (accoders::NOI#5541.醉(intoxicated))题目描述Robin有一棵树,他有\(m\)次询问,每次询问他给你\(u,k\),你需要输出树上的一个节点\(v\)满足\(dist(u,v)=k\),或者报告无解。\(dist(u,v)\)表示树上\(u\)到\(v\)的最短路径的边数。\(n\leq10^5\)solution考虑求出每个......
  • Math teacher's homework 题解
    preface网上的题解看不懂,看代码看懂了:)solution考虑\(\mathrm{x_i}\)的倒数第\(\mathrm{low_i-1}\)位到倒数第\(\mathrm{1}\)位可以乱选(选\(\mathrm{0/1}\)都满足\(\mathrm{x_i\leqm_i}\)),那么就需要\(\mathrm{x_i}\)和\(\mathrm{m_i}\)的第\(\mathrm{1}\)位......
  • YACS 2023年9月月赛 甲组 题解
    题目链接1题目链接2题目链接3榜单终于公布了,这应该是第二长的榜单公布吧。(最长的一次是去年八月,拖到九月开始后才公布) T1是傻逼数据结构不说了吧,对于每个点枚举以他为角的$k\timesk$的四个正方形算一下点的数量,用$cdq$或者扫描线都行。看这个题目编号是$81$,看来是很......
  • 题解整理
    CF1740ACF1740BCF1740DCF1711BCF1253BCF1080BCF1237ACF1743ACF1743CCF1743BCF1370B......
  • P9744 消除序列 题解
    本题有多种解法,我这里先讲一个我的考场做法吧。切入点我们发现我们至多使用一次操作一,而剩下部分的\(0\)肯定是依靠操作二补全,操作三的作用只是用来填补操作一的空白的,所以我们发现我们对一个序列的操作一定是前一段用操作一和操作三,后一段用操作二。思路1一开始考虑暴力\(......
  • CEIT 23练习编程题 题解
    本文部分题目提供c/c++两种解法,顺便可以让你们知道c++在面对某些题时的优势部分题目提供多种解法日期格式化C#include<stdio.h>intmain(){intm,d,y;scanf("%d-%d-%d",&m,&d,&y);printf("%04d-%02d-%02d",y,m,d);return0;}02d的含义:当有效数......