随笔 - 22  文章 - 0 评论 - 0 阅读 - 538

退位计划

全部颜色都选的限制很强,考虑对他容斥。

首先我们可以很容易求出 n 个点最多用 k 个点的答案为 k(k1)n1

那么我们此时多算了某个颜色没选的答案,需要减掉他,于是答案就显然了。

i=1k1ki×(ki)×i(i1)n1

单调栈

考虑一下对于一个 bi1 他会对值有什么限制。

不难发现 j(bi+1,i)ajaiai<abi。第一个条件不好搞。

转化一下第一个条件发现第三个条件是对于每个 bi=1 要找到最小的 j 满足 j>ibj<i 需要有 aiaj。又由于 bi1 也有这个限制条件,所以当自己不是最小的指向 bi 的点,第二个条件改为 ai<alasbi,其中 lasbi 为上一个 bj=bi 的位置 j

现在我们得到了每个点与其他点的大小关系,发现形成森林。那自然设 fi,j 表示点 i 选数 j,直接 DP 就可以了。

树之间不影响所以最后扫一遍每个树的根统计一下答案即可。

Two Permutations

显然我们只关心 P 的每一位匹配的位置,剩下的就是 Q 的匹配。而每一位的 P 是确定的,也就是说每一位在 S 中只有两个匹配位置。

这个限制非常强,我们可以对其 DP。

fi,0/1 表示 P 的第 i 位匹配 S 中第 1/2 次出现的 Pi,转移讨论一下就可以了。

传送

还没写

B

非常喜闻乐见的想到差分,那么区间取反就是头尾的 01 取反,区间翻转就是区间头和区间尾建边。

我们把所有操作建边,最短路就知道把任意两个 1 变成 0 的答案,这个可以预处理好。

枚举哪两个一起变,直接计算最小值。

取模

显然对 2 取模就有答案为 2,只需要看答案是否可以为 1 即可。

从序列中随便找三个数,必然有两个模数相同,枚举差的因数就可以找到这个模数。剩下的一个数减余数取个 gcd 看下是否有就可以了。时间复杂度是 O(nlogV),取极差小的 V 可以卡过去。

quq

首先有贪心,把 a 从大到小排序,那么在取完 aiai1 之前不会用 i1 号扭蛋机。

那么对于一个数 i,所有大于 i 的已经扭到了,但是 i 没有扭到,这个概率为 1ni+1,考虑选到 <i 对两者都无影响,也就对概率无影响,否则就会在这其中选一个。每次都不选到 i 且后面全部选完的概率就是 1ni+1

在这个概率下,我需要选出这个。扭包含这个值的最小的扭蛋机,出他的期望次数就是值域。这个感性理解即可。

最后的答案把这些乘起来相加即可。

求排列(roast)

拆位。

找到最高的一位,这一位既有 0 也有 1,那么必然有不同数的跨度。也就是说答案的这位必然是 1

那么把数按照这一位分成两个集合,集合内乱走是不会影响答案的,只有跨集合会影响答案。

则一个集合建字典序,一个集合查异或最小值,集合之间的边左右两边异或必然是这个最小值,否则走这个边就是不优的。

接下来就变成走路题了,需要保证任意时刻不走到割点。一个点是割点只能是所有去对面的边都挂在这个节点上了。

所以按照字典序贪心,先找合法起点,他要么不是割点,要么就是集合内唯一的点。向前走一步,如果集合还有点,就不能走割点,其他就在出边中找最小值。

走完一圈就得到答案了。

仙人

无脑圆方树。

变成树后对于每个子树进行DP。

对于 u,我们考虑一个子树 v 合并进来的贡献。拓扑序减去自己在最前面长 sizu1,合并长为 sizv 的拓扑序,由于子树之间是互不影响的,所以可以任意取位置,取完后要把这些位置删掉,则有 DP:

fu=fv×(sizvsizu1sizv)

不过注意方点是没有 siz 贡献的,而且最远点是要强制在最后的,所以刚才的 DP 不能用。

重设个 n2 的 DP gl,r 表示第 lr 儿子排拓扑序的答案,则有

gl,r=fsonl×gl+1,r×(sizl,r1sizl+1,r)+fsonr×gl,r1×(sizl,r1sizl,r1)

均摊时间复杂度 O(n2)

[5102IOSJ]最大公约数

福利题。

因为 n=1000,所以 n2=106,但是 n4=1012,所以考虑 n4 来做这个题。

枚举矩阵左下 (i,j) 和右上角 (f,k),不难发现 gcd(i,j,f,k)=gcd(gcd(i,j,f,k1),gcd(gcd(i,j,f1,k),a(f,k)))。现在我们获得了一个 n4 的做法。考虑优化它。

先优化空间,我们发现可以去掉前两维,这样可以跑 1000 的数据。

然后我们发现,若 gcd(f,k)=1,那么对于任意 f>f,k>k,有 gcd(f,k)=1。可以剪枝优化。

分析时间复杂度。当数据是随机的,一但我们找到任意一个数与当前集合内任意数互质,那么我们就会退出。发现这样集合大小期望不会很大,大概 100 左右,所以时间复杂度期望 O(100n2)

posted on   lizhous  阅读(27)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示