Examples

2023-4-24 #51 这世界 绝对不会只有一个轴心

——ChiliChill《丑马》

307 uoj#698. 【候选队互测2022】枪打出头鸟

浅谈「正交线性基」

异或卷积算法的本质:考察 [xu]F[xv]G 贡献到 [xw]H 的本质,其贡献系数为 (1)uw(1)vw=(1)(u+v)w,恰好为 u+v 对应的 FWT 系数。

求正交线性基:先将线性基三角化得到 k 个关键位,直接将线性基除主对角线的部分转置,并令正交线性基剩下的 nk 个位为关键位,复杂度 O(n2)

[xw]A^=2kw 构成了正交线性基的张成空间。

线性基求交:AB=(A+B)A 表示 A 的正交线性基),复杂度 O(n2)

于是这题做法就是,倒着扫描序列做线性基求交,尝试用类似 前缀线性基 的方法记录每个基底最靠前的出现位置,询问直接在正交线性基里搞搞就好了(大概吧)?

308 CF1523H Hopping Around the Array

广告:他是 ISIJ 第一名,也是在线知名题库的洛谷“网红”

之前讲过,不过早就不记得了。

一个点进行若干次操作后到达的一定是一个区间,于是想到倍增求出多少步才能跨越过 r,设出 fi,j,k 表示从 i 出发跳 2j 步,删除 k 个点能到的最远位置,预处理其需要用 ST 表处理区间最值,这里的复杂度是 O(nk2logn+nklog2n)

考虑如何处理查询,令 gi 表示删了 i 个点,我们至多能跳多少步使得不越过 r,转移就从高到低枚举每一位考虑每个 gi 能否塞一个 2k 进去。

这样做空间是 O(nklog2n) 的,离线做就可以做到 O(nklogn) 的空间。

309 CF1616G Just Add an Edge

首先判掉初始就有一条哈密顿路的情况,手玩可知我们要找到两条链,构成全集的二划分。

更精准的刻画是(假设加入的边是 xy):1y1xyx+1n(其中 1y1,x+1n 均只使用 (z,z+1) 类边)。

不会做啊啊。

由于不存在哈密顿路,一定存在一个 (z,z+1)E,因此这两个位置分别属于两条链,容易得知选择连边的两个点 xy 一定满足 x1zy

所有这样的 (z,z+1),(z+1,z) 都必须经过,我们可以从前往后 dp 一下就好了,复杂度 O(n+m)

310 CF1423G Growing flowers

(破题水)

颜色段均摊处理区间推平,我们只要支持 O(n) 次整体颜色修改,根据贡献形式,对每个颜色开一棵线段树。

于是我们只用对于每个长为 w 的白色段,对 k 的答案造成 max(wk+1,0) 的贡献,容易使用线段树维护答案。

复杂度 O(nlogn)

311 CF1508F Optimal Encoding

连出所有有限制的边一定能得到一个合法的 DAG,只需考虑最小化边数而不影响到达关系,但是这是 P6134 [JSOI2015]最小表示,肯定要进一步挖掘性质。

考虑对每条边 u,v 算贡献,其出现的一定是段区间,出现时间是第一次被区间包含的时间,消失时间是满足 au<aw<avwu,v 第一次共同出现的时间。

假设我们得到了所有可能贡献的边,加入时间是好计算的,无非做一个二位数点状物。删除类似,对于每个 u,v 找到其序列里最接近的合法 w 位置,之后也是一个二位数点。找到这个 w 位置可以考虑从小往大加数,对于 v 位置取出所有 u,以及所有 u 前面第一个小于 v 的位置(使用链表),扫一遍即可找到每个 u 对应的 w

事实上可能有贡献的边数量是 O(nq) 级别的,我们跑一遍莫队,每次加删都只会加入 O(1) 条边,使用回滚莫队+链表可以 O(nq) 找到这些边。

复杂度 O(nq)

312 CF1060G Balls and Pockets

看不懂题解,有人教我吗。

😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭

313 uoj#99. 【集训队互测2015】普罗达科特

第一问即要求每个 x 互不相同,于是考虑使用集合划分容斥,我们以分拆数的复杂度枚举相同情况,并枚举每个连通块大小有多少个为 M 的约数(假设连通块大小为 v1,v2,,vkc1,c2,,ck 为每个连通块大小是否为 M 的约数)。

对于每个素因子考虑,即提取:

[xA]i=1k1cixwi+11xvi

我们断言,其 klcm(v1,v2,,vk)+r 项系数是关于 kk 次多项式,于是暴力预处理前若干项插值即可(当然不要在枚举 c 的时候才预处理)。

314 CF1392I Kevin and Grid

使用欧拉定理,我们只需关心点数,边数,面数(这个较难处理)。

注意到不与边界相邻的连通块一定被一异色连通块包含,事实上一个这样的连通块,会与除了大小为四的正方形以及无限面外其余异色面一一对应。

将答案式子写出来,发现面数抵消了,而点数,边数,大小为四的正方形数均可以卷积处理,复杂度 O(nlogn)

posted @   xiaoziyao  阅读(209)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示