抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

便一去不回。

模拟赛,四天并到了一天。

最近气温是有点离谱了,达到了 Δ=25C\Delta=-25^{\circ}\text{C}

[CCO2023] Binaria

Portal.

直接并查集合并就没了。代码

[CCO2023] Real Mountains

Portal.

联考考过,没补,我是摆怪。

考虑最终序列的最大值一定不会大于原序列中的最大值,那么任取一个最大值位置作为峰顶,左右两边分开处理。

对于左边来说(右边同理),一个位置的最终值是它左边所有值的最大值。每次找到还未达到最终值的所有最小值,尝试将其全部加一。发现最优情况是从两端加到中间,于是从小到大扫,直接计算贡献即可。代码

[CF1545F] AquaMoon and Potatoes | [Ynoi2007] tmpq

Portal.

Techno,土豆。

暴力 DP 可以将 i,ki,k 的贡献拆开然后暴力扫然后乘起来即可。

看上去就非常的离谱,以前给出的做法大概是这样的:

直接操作分块,每次只有 O(m)O(\sqrt{m}) 个被修改的数,然后就有看每个数是否是在这个块内被修改的,88 种情况都能做,就是有点无语。

zak 有一种聪明的做法:

算了,明天写。


今天吃晚饭的时候一人顶着伞走了一圈,有种将世间万物都收在一起的感觉。视野没有那么开阔,却也不觉遮挡。

温度在心中聚集,在一个不大的世界中,像登山者看到了在山顶开放的花一般欣喜。

走吧,不管走到哪里,这一切都很美的。

天使帝国


以上都是 21 日的,下面开始是 22 日和 23 日的。

先继续写那个土豆题。

转化为 a,b,ca,b,c 单点修改,bi=aj=ckb_i=a_j=c_k 的个数。先写一个动态 DP 维护转移。

对于每个出现的 ww 的次数进行根号分治。对于 cntwBcnt_w\le B,那么进行暴力 DP,然后差分贡献,扔到相应的位置上,询问相当于求前缀和,O(nn)O(n\sqrt{n}) 次修改,O(m)O(m) 次查询,使用 O(1)O(n)O(1)-O(\sqrt{n}) 的分块维护。

对于 cntw>Bcnt_w>B,离线扫一遍操作序列,单点修改前缀查询,由于修改的总个数是 O(m)O(m),询问个数是 O(mn)O(m\sqrt n),因此使用 O(n)O(1)O(\sqrt{n})-O(1) 的分块维护即可。

写起来比较方便,土豆还是很美味的!!代码


[JOISC2020] Ruins 3

Portal.

旋风牛马大数数。

考虑从后往前扫,然后假定 1h1\sim h 的石柱各出现了一根,那么接下来出现的 h\le h 的柱子,都会直接震没。那些没有被震死的柱子称为“标准柱”。

继续观察性质。如果当前位置为 xx,后面存在 xxkx\sim x-k,那么 xx 会下降到 xk1x-k-1

fi,jf_{i,j} 代表后 ii 个柱子,此时 h=jh=j 的方案数。

我们先假定两根高度相同的柱子实际上是不同的,那么最终答案除以 2n2^n 即可。

倒着 DP,设此时有 c0c_0 个钦定消失,c1c_1 个钦定存在。

  1. ii 钦定消失,此时 jj 不变,有 jj 个可用高度,那么不算当前这个没消失的,这里可以填写 j(c01)j-(c_0-1) 个有效的。
  2. ii 钦定保留,令 hih_i 代表 ii 最后的高度,分讨:
    • 如果 hi>j+1h_i>j+1,那么从 fi+1,jf_{i+1,j} 转移,这里的贡献留给以后再计算。
    • 否则此时 hi=j+1h_i=j+1,那么此时枚举一个新增的大小 kk,转移到 fi,j+kf_{i,j+k},系数是:
      • 选择哪些位置的值被记入了当前 jj。钦定除了当前位置的那 k1k-1 个位置的方案数 (c11jk1)\dbinom{c_1-1-j}{k-1}
      • j+2j+kj+2\sim j+k 的高度之前均有出现过一次,这里还可以选择各一次,然后还可以选择两个 j+1j+1 的高度,方案数是 k+1k+1
      • 固定那 k1k-1 个位置上的数的排列,那些数都没有被震没。因此就是要求一个 gng_n 代表有 2n2n 个数进行选择,然后震成值域连续段的初始方案数。

gi,jg_{i,j} 代表用 1i1\sim i 的数填 jj 个位置,放进去的最大数不影响原来能震成的值域连续段,那么能震成值域连续段的充要条件是 iji\ge j。枚举第 ii 个数填了 0/1/20/1/2 的转移方式:

gi,j=gi1,j+2j×gi1,j1+j(j1)gi1,j2g_{i,j}=g_{i-1,j}+2j\times g_{i-1,j-1}+j(j-1) g_{i-1,j-2}

代码

[Ynoi1999] XM66F

就是求 i=lr[aj=ar](brbj)\sum_{i=l}^r [a_j=a_r](b_r-b_j) 直接莫队没有了,这东西为什么可以不丢 Easy Round????代码


教练领着去某个神秘的地方吃了一顿,挺开心的。

不过那里的猫一个都不理我

今天下午听了很多遍《斗牛》!!

野性坦露着灵魂纯粹 或者肆意妄为
直到亲手栽培了原罪以后 又要将它摧毁

好好休息一下呢。

评论

若无法加载,请尝试刷新,欢迎讨论、交流和提出意见,支持 Markdown 与 LaTeX 语法(公式与文字间必须有空格)!