#10 2023.12.25

483. loj3532 「NOI2021」轻重边

在车上花了 10min 造了一个毛毛虫树剖 /hanx。

不会 LCT。

484. loj3533 「NOI2021」路径交点

LGV 引理板子题。

还是不懂为什么 NOI 要放这种 0/100 的题。

485. loj3534 「NOI2021」庆典

题目条件的意思是缩完点是个外向数。

对于每次询问,把所有有关的点拉出来建虚树,显然不能走出虚树,那虚树上的一条边的状态是一样的。把虚树的每个点和每条边拉出来 bfs 即可。

486. loj3535 「NOI2021」量子通信

随便乱搞题。分 16 段,一定有一段相等,判 diff 可以每段 popcount。

487. loj3536 「NOI2021」密码箱

显然只有平衡树能完成这个操作。考虑矩阵。

答案大概能写成 {{0,1},{x,1}}{{0,1},{y,1}}...{{0,1},{z,1}}{a,b} 之类的东西。

然后对于 WE 分类讨论,发现它们可以对应成矩阵,那就无脑平衡树了。

488. xsy5309 路径(path)

489. xsy5310 迷失(lost)

如果只考虑一个强连通分量,周期是所有环长的 gcd。不同强连通分量之间完全不会影响,所以答案是所有强连通分量的答案的 lcm。

另外一个答案直接倍增即可。尝试构造了答案爆 int 的情况,似乎很难构造的出来。不管了。

490. xsy5311 树(tree)

考虑不合法的,那就是对于每个子树,在子树内的是 1,不在子树内的是 0,那就是一个极长同色连续段都是不合法的。那就 dsu on tree 维护区间,在外面套一个扫描线就过了。

好像 std 做法不太一样?研究研究。

491. loj3537 「NOI2021」机器人游戏

大概是,钦定最后一个合法位置 r。发现有关信息只需要前 min(r,nr) 位是否合法。

一个机器人只能把一个位置变成 0/1/x/1-x,发现对于一个机器人 x 的一个位置 i,可以根据前 lenx 个位是否合法,获得 0/1/x/1-x 的状态,对应到这一位上有 1/2/3 种填法。所以只需要记录 dpi,S,0/1 表示前 i 位,最后 min(r,nr+1) 位的状态是 S,在 S 的前面是否有合法位置。转移暴力,可以做到 O(n2m2n/2)

发现我们不关心每一位 0/1/x/1-x 的具体状态,我们只关心 cnt2cnt3。这可以通过 b0,b1,bx,b1x 求出,其中 b 是个 bitset 集合。进行一个 bitset 的转移,大概能做到 O(n2m2n/2w)

有点累了没写代码,贺了 zky 的。orz zky!

492. loj3931 「WC2023 / CTS2023」楼梯

考虑描述轮廓线。向下是 1,向左是 0。发现操作序列上如果有 yx+1=q,ax=1,ay=0 就合法。发现 a1 一定是 1,ap+1 一定是 0,并且是倍数,所以可以直接拉出 akq+1 的序列,求出中间的那个权值之后递归到某一半。

493. The 2nd Universal Cup. Stage 2: SPb

心态崩了来场 ucup 娱乐一下。

好像四舍五入等于摆了一天。

B

大力模拟 ymd。

A

使用经典套路,大概是 ndpidpi+min(i,5i)

I

?

J

最优解至多 tp 两次。

G

根据度数大小分别维护。

D

神秘构造。正方形特判。

把短边填满,然后中间可以填一条线,或者

@@@@@@@@

L

通信板子题。

E

神秘搜索题。使用神秘估价函数,搜最小的二十个就过了。

M

厉害题!

fn 为答案,gn 为长度为 n 的没有 S 的方案数。

fi=gimbborderfim+b,gi=||gi1fi

把所有的 fg 替换,变成了线性递推。

K

模拟费用流板子题。

C

厉害题!等会写。

这个题的有向图版本是简单的,只需要考虑 depu+wdepv 即可。

无向图版本比较牛,首先需要考虑每个简单环,然后把每个简单环染色,这里染色使用 xor hash。发现被染成同色的路径比较牛,总能找出多走 2*同色路径长度 的路线。再把这些东西取 gcd 即可。

H

sqrt tree,不知道为什么能过。

F

494. xsy5312 景点游览(vis)

考虑画出数轴。如果 i 能到达 j,就连边 ij。发现答案区间没有往左的边和往右的边。

枚举 r 作为区间的右端点。没有往右的边是容易的,扫描线的时候维护一个集合即可。令 l=max{xS}+1。对于 i>j 的边 ij,相当于把 (j,i] 全都 ban 了。查询相当于查 [l,r] 内没被 ban 的点数量。

但是现在有 O(n2) 条边,我们发现只需要保留原图的边就够了。原因是如果一条边不合法,在原图上对应一条路径,路径的起点和终点分别在区间内外,一定有条边跨过区间端点。

495. xsy5313 人生画卷(life)

OEIS 哥赢麻(?。

显然每个颜色要么包含,要么不交。对于一个用了 k 个颜色的方案,有 Amk 的系数。

大概设二元 GF F 表示长度为 n,用了至少 m 个颜色,允许有空格的方案数。G 表示不允许有空格的方案数。

[xi]F=(y+1)[xi1]F+yj=2i([xj2]F)([xij]F)

[xi]G=y[xi1]G+yj=2i([xj2]F)([xij]G)

发现 [xi]G=y[xi1]F,然后就不会解了(??。

打了个表,往 OEIS 里扔了一下就过了(?。素质很差。

496. xsy5314 博弈游戏(game)

最简化版的单向链老鼠进洞板子题。傻逼。

497. 正睿神秘题

题意:给一棵树。每次询问给出 k 个 dfn 区间,询问由这些区间的点构成了多少连通块。

题解:

考虑 k=1。令 nxtu=u+sizeu,即走完 u 子树之后走到的第一个点。对每个连通块以深度最小的点为根。如果 u 是某个连通块的根且 nxtur,则 nxtu 一定是另一个连通块的根。注意到 l 一定是某个连通块的根,则从 l 开始倍增即可。

考虑 k1。先对每个区间求答案,再减去不同区间之间的边。对于区间 j,考虑它和区间 i(i<j) 之间连的边 (u,v)。发现 u 一定在 [lj1,lca(lj1,rj)] 这条链上。从左往右扫描区间,维护一个栈。扫到 j 的时候,i 区间在这条链上一定是一个连续段,可以用倍增求出交的大小,并且判断是否可以 popi 区间。

498. loj3932 「WC2023 / CTS2023」比赛

发现限制很强!咋办呢。考虑取出出现次数最大的数,然后按照 110110110... 的顺序优先把这种数放完。其他的 shuffle 一下扔进去。

然后就随机调整!啪的一下就过了!很快啊!感受这股劲!

499. loj3933 「WC2023 / CTS2023」树据结构

学个马老师O(nlogn) 跑路得了。

首先随机打乱边权。尝试求出每个点的 faw,且使得父亲的 faw 小于儿子的 faw。把每个点都 query 一遍,答案为 x 的扔进 Sx 里。取出 x 最小的 Sx,和当前不是任何点的 faw 的最小的边权 y。进行一次 exchange(x,y),然后 Sx 中有且仅有一个点的 query=y,那么这个点的 faw=y。剩下的点扔进再次 query 获得的答案的集合。

现在我们有了每个点的 faw,尝试还原这棵树!记 fawu=i,按照 i 从小到大的顺序加点!二分 fawfa=j。首先 exchange(i,mid)。若 mid<query(u)<i,则 query(u)=j。若 query(u)=mid,说明 jmid。若 query(u)=i,说明 j>mid

500. loj3988 「IOI2023」封锁时刻

庆祝 500 题!

考虑没交的情况,是个简单贪心。

考虑有交的情况!把 xy 的路径上的点都选上小的一边。然后对于不在路径上的每个点,可以看作 付 ai 获得 1 贡献,bi 获得 2 贡献。路径上的每个点,可以随时花 ci 获得 1 的贡献。按照 bi 排序,枚举最大的选 bi 的点,那么前面一定都选了 ai,那就变成了一堆 biai。后面全是 ai。线段树二分即可。

501. loj3989 「IOI2023」最长路程

注意到图连通块 2,且如果有两个连通块,这两个连通块分别是环。

考虑把图剖分成不交的两条链,使得每个点都在某条链中。考虑一次性加入两个点,可以和两条链的链尾简单分类讨论得到新链。

如果两条链之间没边,就返回长的链。否则取出链的两个端点,看它们和另一条链的端点有没有边。如果有可以把两条链拼起来。否则两条链分别是个环,二分出连接两条链的任意一条边即可。

502. xsy5327 早八(class)

数全 0 的区间。维护极长全 0 区间,加入或删除是简单分类讨论。

503. xsy5329 间谍(spy)

注意到一个点的覆盖范围是一个大凸包。那就变成了多边形数点。因为斜率和边数很少,可以每个斜率按照截距扫描线。

posted @   ZSH_ZSH  阅读(53)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示