首页 > 其他分享 >2024.5

2024.5

时间:2024-05-17 15:40:34浏览次数:22  
标签:那么 2024.5 卷积 right mathcal dp left

1. pkuwc2024 d2t2 排序

暴力就是按值从大到小填,记录初始序列有哪些位置被填了,每次填上一个数计算它与比它大的数之间的交换次数,模拟一下希尔排序,这个做法是 \(\mathcal{O}(2^nnm)\)。

先优化掉状态数,需要 swap 次数最多,那么按 \(d_1\) 分组后每组内部一定是递减的,将已经填入的看成 1,还未填入的看成 -1,当前填进去的数看成 0。首先状态只需要记每一组 -1 的个数,那么状态数到达了 \(\mathcal{O}\left(\left(\frac{n}{d_1}+1\right)^{d_1}\right)\) 级别,可以接受。转移相当于将某个 -1 填成 0,再计算 0 和 1 之间会产生多少次交换,然后再将 0 变成 1 。枚举在哪个位置填并转移是 \(\mathcal{O}(d_1)\)(或者 \(\mathcal{O}(n)\)) 的,问题在于怎样快速计算贡献。

这个时候发现可以记忆化搜索,或者说从 \(d_m\) 往前 dp 到 \(d_1\)。对于每个 \(d_i\) 记录每一组有多少个 -1 以及 0 在哪个位置,分组计算一下逆序对并且组内排序,进行 dp 的转移。这里状态数是 \(\mathcal{O}\left(\sum\limits_{i=1}^m\left(\frac{n}{d_i}+1\right)^{d_i}d_i\right)\) 的(要记 0 在哪一组),单次转移是 \(\mathcal{O}(n)\)。可以通过。

2. pkuwc2024 d1t2 最小值之和

抄写 skc 的题解,这里 \(a,a'\) 是原题面的 \(f,f'\)。

令 \(dp(l,r,k)\) 表示 \([l,r]\) 中的 \(a'\) 全部减去 \(k\) 是否存在构造,那么 \(dp(l,r,k)\gets dp(l,i,k+j(r-l))\And dp(i+1,r,k+j(r-l))\),也就是在 \(a_i\) 处填 \(j\) 作为最小值,并且让 \([l,r)\) 中的所有 \(a\) 都减去 \(j\) 得以递归处理。

可以将 \([l,r)\) 中的 \(a\) 整体 +1,那么 \(dp(l,r,k)=1\) 则 \(dp(l,r,k-(r-l))=1\),所以另设 \(f(l,r,k)=p\) 为最大的 \(p\equiv k\pmod{(r-l)}\) 且 \(dp(l,r,p)=1\),考虑枚举 \(i\) 之后从 \(f(l,i,w_1)=p_1\) 和 \(f(i+1,r,w_2)=p_2\) 尝试给 \(f(l,r,*)\) 转移。

此时看 \(k+j(r-l)\) 可以为多少,解出 \(\left\{\begin{matrix}x\equiv w_1 \pmod {(i-l)}\\x\equiv w_2 \pmod {(r-i-1)}\end{matrix}\right.\) 并且满足 \(x\leq \min(p_1,p_2)\) 的最大非负整数解 \(x_0\)(这里不用写 exgcd 可以直接暴力),那么它就是能满足 \(x=k+j(r-l)\) 最大的 \(x\),那么所有合法的 \(x=k+j(r-l)\) 通解形式为 \(x=x_0-t\operatorname{lcm}(i-l,r-i-1)\),由于可以令 \(j=0\) 那么最大的 \(k\) 就是 \(x\),所以对每个 \(t\) 将 \(f(l,r,x\bmod (r-l))\gets x\) 更新即可。

注意到只有 \(0\leq t<\frac{r-l}{\gcd(r-l,lcm)}\) 的 \(t\) 是有用的,暴力更新即可。区间 dp 是 \(\mathcal{O}(n^3)\) 的,枚举 \(w_1,w_2\) 是 \(\mathcal{O}(n^2)\) 的,枚举 \(t\) 是 \(\mathcal{O}(n)\) 的,常数极小已经可以通过。

优化就是考虑 dp 的更新形式就是同余最短路,那么将所有 \(f(l,r,x_0\bmod (r-l))\gets x\) 更新好,再将所有 \(lcm\) 拉下来跑同余最短路转两圈。外层枚举区间 \(\mathcal{O}(n^2)\),枚举 lcm 是 \(\mathcal{O}(n^2)\),转两圈更新 dp 是 \(\mathcal{O}(n)\),这样复杂度是 \(\mathcal{O}(n^5)\) 的了。

3. pkusc2024 d1t3 独立

首先先小 N 的独立集那么做,那么现在问题就是初始 \(f_{x,1\cdots m}=1\),然后树形 dp 合并子树的时候 \(f_{x,i}f_{v,j}\to f'_{x,\max(0,i-j)}\),是个差卷积,能看出来 \(f_{x,i}\) 除了 \(i=0\) 以外的地方是关于 \(i\) 的 \(siz_x-1\) 次多项式,每个 \(x\) 对答案的贡献就是 \(\sum_i f_{x,i}\cdot i\cdot m^{n-siz_x}\)

欲求的 \(f_{x,i}\cdot i\) 前缀和是 \(siz_x+1\) 次多项式,所以尝试直接维护 \(n+2\) 个点值,想插值但是 \(1\sim n+2\) 项会和很多项有关,那么考虑求出倒数 \(n+2\) 项,也就是 \(m-n-1\sim m\) 项的系数,这里可以直接 \(\mathcal{O}(n\log n)\) 算一下差卷积,然后要将这些系数位移到 \(1\sim n+2\),就是 P5667 拉格朗日插值2 这个题。

这里的技巧是尝试写卷积式子之后,想求第 \(x\) 项,但是其中一边的上界是 \(n\) 而不是 \(x\),那么可以将另一边系数整体向右位移 \(n\) 项,这样卷出来的 \(n+x\) 项系数就是我们想要的。

\(m\leq n+2\) 的时候不用平移啥的之类的操作需要特判,直接差卷积合并 dp 就行。那么总的时间复杂度就是 \(\mathcal{O}(n^2\log n)\)。

标签:那么,2024.5,卷积,right,mathcal,dp,left
From: https://www.cnblogs.com/do-while-true/p/18197895

相关文章

  • 2024.5.16鲜花/燃料不纯的火箭与璀璨夺目的陨星
    前言在阅读本篇之前,建议先阅读上一篇鲜花。正文作为星际新闻局长,审核新闻稿之类的事自然是不需要我亲自动手,所以我每天都有大把的私人时间,这时候,我就会去看看星际新闻,也算是为自己负责的节目增加一点收视率。某一天,我看见一则新闻:【数据删除】中学校领导在线上招生典礼上介......
  • 2024.5.16
    2024.5.16【就算一次也好,我想在这颗星球上尽情奔跑。】Thursday四月初九数据结构P4588TJOI2018数学计算//2024.5.16//bywhite_ice//P4588[TJOI2018]数学计算#include<bits/stdc++.h>usingnamespacestd;#defineitnlonglong#defineintlonglongconste......
  • VMware Workstation Pro各版本下载(2024.5.5之后)
    最近有人反映说之前的VMwareWorkstation链接无法下载VMware,索性直接分享几个常用安装包,大家可以点击链接下载。整理不易,点赞关注一下吧1.系统要求VM17:硬件要求较高,Windows10或更高版64位。VM16:硬件要求较高,Windows10或更高版64位。VM12:硬件要求低,Windows7或更高版64位......
  • MCal工程通用计算式算量表V1.3.2.10 2024.5.14
     1、更新下tab菜单2、增加计算式结果四舍五入,四舍六入的设置,在显示效果-工程结果中选择3、次级计算式增加到20个,欢迎测试。下载地址:www.zawen.net         https://club.excelhome.net/thread-1644206-1-1.html......
  • 云原生周刊:Kubernetes Grafana 看板更新 | 2024.5.13
    开源项目推荐ChartTestingChartTesting是用于测试Helm图表的工具。它旨在用于对拉取请求进行lint和测试。它会自动检测针对目标分支更改的图表。ClusterpediaClusterpedia是一个多集群的百科全书,用于同步、搜索和简单控制多集群资源。Clusterpedia可以与多个集群同......
  • 力扣1553 2024.5.13
    原题网址:此处为链接个人难度评价:1700分析:虽然不知道为什么贪心不对,但总之贪心不对。数据如此大也难以DP,那么只有搜索了。显然有一眼可得的搜索记忆化:记忆当只剩下k个果时还需要几天。值得一提的是,本代码实际上可能并不是一个正解代码,其可能无法在整数域上保证所有答案正确,但在......
  • 2024.5 做题记录
    2023.5做题记录[Violet]天使玩偶显然发现我们需要在时间轴上进行cdq分治,然后统计答案。问题在于这个绝对值不好维护,需要进行转化。如果我们钦定这个点最近的点在它的左下方,那么绝对值就可以化为\(dis(A,B)=(A_x-B_x)+(A_y-B_y)=(A_x+A_y)-(B_x+B_y)\)。显然前面的括号是定......
  • 2024.5.10家长会发言
    大家好,我是初三四班的学习委员包赟瑞,接下来由我来对半个学期的班级学习情况做一个总结。整体来看,全班的学习态度有一定进步,布置的打卡任务大多能按时完成。但是不能仅仅满足于此,像政治这种需要背诵的学科,许多同学在课下不爱背、不愿背,没有老师监督便开始摆烂,类似这样的不自律行为......
  • #23 2024.5.7
    838.soj2066聚会839.soj2067重复序列840.soj2068白兔的村庄一个很厉害的题。841.soj2069量子计算842.soj2070字符串模板题厉害。843.soj2071美丽魔法844.soj2072moon845.soj2073为了你唱下去846.loj3523「IOI2021」分糖果847.loj3524「IOI202......
  • 2024.5 做题记录
    五一之后临时决定要来脱产。谢谢所有认可我的决定,支持我的人。P1935[国家集训队]圈地计划注意到相邻两项不同就会产生贡献的条件不好处理,所以考虑对行列进行黑白染色,将一种颜色格子的\(a,b\)交换,这样条件就变成了相邻两项不同才会产生贡献。然后套用文理分科的做法就可......