首页 > 其他分享 >CF1603D Artistic Partition

CF1603D Artistic Partition

时间:2023-07-20 17:24:15浏览次数:34  
标签:lfloor right frac limits sum Partition rfloor CF1603D Artistic

首先如果 \(2^k>n\),答案为 \(n\)。

否则 \(k\le \log_2n\),然后就可以令 \(dp_{i,j}\) 表示前 \(i\) 个数分 \(j\) 段的最小答案。

\(dp_{i,j}=\min\limits_{k=1}^{i}\{dp_{k-1,j-1}+c(k,i)\}\)。

考虑到:

\[\begin{aligned}c(l,r)=&\sum\limits_{i=l}^{r}\sum\limits_{j=l}^{r}[\gcd(i,j)\ge l]\\=&\sum\limits_{k=l}^{r}\sum\limits_{i=l}^{r}\sum\limits_{j=i}^{r}[\gcd(i,j)=k]\\=&\sum\limits_{k=l}^{r}\sum\limits_{i=1}^{r/k}\varphi(i)\\=&\sum\limits_{k=l}^{r}S_{\varphi}(\left\lfloor\frac{r}{k}\right\rfloor)\end{aligned} \]

我们发现它有决策单调性!

于是可以 \(O(n\sqrt n)\) 预处理 \(val_{i,j}\) 表示 \(r=i\) 并且 \(\left\lfloor\frac{n}{k}\right\rfloor=j\) 时 \(\sum\limits_{k=l}^{r}S_{\varphi}(\left\lfloor\frac{r}{k}\right\rfloor)\) 的值(此时 \(l\) 为满足 \(\left\lfloor\frac{n}{l}\right\rfloor=\left\lfloor\frac{n}{r}\right\rfloor\) 最小的 \(l\))。

然后 \(c(l,r)=\sum\limits_{k=1}^{r/l-1}val_{r,i}+S_{\varphi}(\left\lfloor\frac{r}{l}\right\rfloor)(r'-l+1)\),\(r'\) 为使 \(\left\lfloor\frac{r}{r'}\right\rfloor=\left\lfloor\frac{r}{l}\right\rfloor\) 最大的 \(r\),可以 \(O(1)\) 求出。

于是可以在 \(O(n\sqrt n+n\log^2 n)\) 的复杂度内解决此题。

但我觉得预处理太麻烦了咋办?

我们发现,在移动区间左端点时,每向左移 \(1\) 位就对转移答案贡献 \(S_{\varphi}(\left\lfloor\frac{r}{l}\right\rfloor)\),而总移动次数不超过 \(O(n\log n)\) 次,我们可以在开始就暴力 \(O(\sqrt n)\) 算出 \(c(pr+1,mid)\) 的值,然后 \(l\) 指针从 \(pr\) 移到 \(pl\)(可转移的区间)的过程中加贡献即可。

由于对于每个 \(mid\) 仅算了一次 \(c(pr+1,mid)\),于是这部分应该是 \(O(n\sqrt n\log n)\) 的,整个 \(dp\) 过程应该是 \(O(n\sqrt n\log n+n\log^2 n)\) 的,但是不知道为啥能过(可能是因为每次计算 \(c(pr+1,mid)\) 区间长度远远达不到 \(n\)),如果有会证明时间复杂度的好哥哥可以打我(

标签:lfloor,right,frac,limits,sum,Partition,rfloor,CF1603D,Artistic
From: https://www.cnblogs.com/Ender32k/p/17568955.html

相关文章

  • 【CF1146F】Leaf Partition
    这个题还是蛮有趣的,其实弄清楚这个染色的方案,这个题还是简单的。本质上只是对于考虑对于连通块染色,但是带有一些限制。所以我们考虑在LCA上拼接若干条根到叶子的路径。那我们就可以依据这一想法来设计状态。第一是这个点没有染色,那我们记这一状态为\(h\)。第二是这个点连......
  • ESP(EFI System Partition)分区是UEFI固件中的一个特殊分区,通常位于硬盘上的第一个分区,
    ESP(EFISystemPartition)分区是UEFI固件中的一个特殊分区,通常位于硬盘上的第一个分区,用于存储引导加载程序、UEFI应用程序和其他与系统启动相关的文件。ESP分区使用FAT32文件系统,并拥有特定的分区类型GUID(GUIDPartitionTable,GPT)。ESP分区的主要作用是提供一个可被UEFI固件直接......
  • Codeforces 1603D. Artistic Partition
    题目链接:D-ArtisticPartition题目大意:要求将\([1,n]\)分成\(k\)段,使得每段对应的\(c(l,r)\)之和最小,其中\(c(l,r)=\sum_{i=l}^r\sum_{j=i}^r[\gcd(i,j)\gel]\)。首先注意到当\(r<2l\)时,\(c(l,r)=r-l+1\)。所以当\(2^k-1\gen\)时答案即为\(n\)。考虑\(\texttt......
  • ORA-14099: all rows in table do not qualify for specified partition
    1.创建分区表createtablerange_part_range(idnumber,deal_datedate,contentsvarchar2(1000))partitionbyrange(deal_date)(partitionp1valueslessthan(to_date('2015-01-21','yyyy-mm-dd')),partitionp2valueslessthan(to_date......
  • Oracle partition by 用法及函数
    Oraclepartitionby--函数row_number、rank、dense_rank--row_number:序号,不重复;例如:1,2,3,4,5--rank:排序,重复;例如:1,2,2,2,5--dense_rank:排序,不重复;例如:1,2,2,2,3--sum:求和,本行排名之前(包括本行排名)的总和--count:技术,包括本行排名一共有多少名SELECTt.*FROM(S......
  • leetcode 561. Array Partition I
    Givenanarrayof2nintegers,yourtaskistogrouptheseintegersintonpairsofinteger,say(a1,b1),(a2,b2),...,(an,bn)whichmakessumofmin(ai,bi)forallifrom1tonaslargeaspossible.Example1:Input:[1,4,3,2]Output:4Explanation:......
  • linux 一块空磁盘初始化为dos的磁盘分区表,然后可以直接初始化整个磁盘为ext4格式,也可
    问:linux一块空磁盘初始化为dos的磁盘分区表,然后可以直接初始化整个磁盘为ext4格式,也可以先把磁盘分出一个Partition再初始化为ext4格式,这两种方式有什么区别,有什么特点答:在Linux上,对一块空磁盘进行初始化为ext4文件系统时,你可以选择两种不同的方式:直接初始化整个磁盘为......
  • linux DOS partition table 和 GPT partition table 在兼容性和性能上有什么区别,为什
    DOS分区表(也称为MBR分区表)和GPT分区表是两种不同的磁盘分区方案,它们在兼容性和性能方面有一些区别。兼容性:DOS分区表:DOS分区表是旧的磁盘分区方案,它在早期广泛使用,并且被几乎所有操作系统所支持,包括Windows、Linux和macOS。GPT分区表:GPT分区表是一种较新的磁盘......
  • 【hadoop】 4001-Partitioner编程
    MapReduce重要组件——Partitioner组件(1)Partitioner组件可以让Map对Key进行分区,从而可以根据不同的key来分发到不同的reduce中去处理;(2)你可以自定义key的一个分发股则,如数据文件包含不同的省份,而输出的要求是每个省份输出一个文件;(3)提供了一个默认的HashPartitioner......
  • sql---partition的使用
    partition分组函数,简化分组原来语句selectROUND(SUM(TIV_2016),2)TIV_2016from(selecta.*,b.TIV_2015_count,c.LAT_LON_countfrominsurancealeftjoin(selectTIV_2015,count(*)TIV_2015_countfrominsurancegroupbyTIV_2015)bona.TIV_2015=b.TIV_2015leftj......