#15 2024.2.19
604. xsy5339 怎么有人 (why)
605. xsy5340 NOIP (noip)
得到的结论是,动态凸包水太深,别碰,你把握不住。
叉随机化叉了一万年,然后发现 std 是假的。
遇到这种题来个猫树分治得了。傻逼。
大粪模拟赛 /tuu。
606. qoj8224 Caught in the Middle
607. qoj1071 The 2022 ICPC Asia Hangzhou Regional Contest
D
+2。
F
A
有脑残差点不会做这个题 /ll。
+2。
K
trie 上每个结点讨论一下就行了。
C
G
大力猜想,如果有两个点双就寄了,点双不是一个环也寄了,所以原图是个仙人掌。
毛估估一下,要么每颗子树相等,要么环长为偶数且树为 abababab。
I
我擦,学到了。
首先随若干次,大概能获得接近环长的一个数。
然后 BS,走接近环长步,再 GS。
M
我想了个傻逼点分治做法,我是傻逼。
注意到 是个容易加边和合并的类,换根 dp 即可。
B
枚举那个 max() 是哪个位置,然后就是简单的了。
H
欸是不是之前有人讲过这个题,我咋忘了怎么做 /ll。
厉害厉害。
考虑建出 4,7 的一个图,然后知道图的边数的话,判定是否最大匹配是 Hall 定理 判。
考虑没有修改,那么从大到小贪心删点,删了不改变最大匹配的话就删。
有修改的话,每次修改只会影响右部点的 个点。
J
不是这钱哥凭什么没过啊,你吗,摆烂人过完 B 之后还有 40min,钱哥在干嘛 /fn。Let it Rot 给我加训 /fendou。
把交的树建出来,外面来两条斜着的很远的边,那就是一棵树,不用考虑各种特判了。
那么形成的就是 的这个凸包,容易在凸包上随便二分出交点,挂个点也是挂叶子。
L
没太看懂题解,毛估估一手。
枚举后缀,那就只需要考虑一个串 的前缀。记 表示 用了 次 edit,最多能编辑到 。那么注意到,对于一个 ,需要记录的 只有 个。转移就用 lcs 的各种转移。然后如果 ,那就 。
似乎不太难(?。
完结撒花。
608. gym104252f Favorite Tree
分治匈牙利似乎可以爆标。
609. qoj3582 Because, Art!
610. qoj6111 Two Paths
介绍一个单 log 做法。
首先钦点断掉某条边之后的答案是可以 算的。称为 cut。
把直径拉出来。
对于 在直径的同一子树的情况,一定有一个点跑到了直径的某个端点,容易由 次 cut 求出。
对于 在直径的不同子树的情况,那么有 种本质不同的 cut,剩下的情况是两个点走到对应的直径上的点,然后往中间走。这可以拆成线段树上的 log 个区间,要么在两个区间之间 cut,要么走到区间的两端,然后在区间中的两个点往下走。那么这个容易写成一个点积的形式,求出凸包后二分即可。于是我们得到了在线 做法。
注意到此时瓶颈是 次查询,每次需要一个二分。考虑离线,把查询的斜率 sort,然后二分就变成了指针。于是就是 。
611. loj3700 「联合省选 2022」预处理器
orz maoyiting!
怎么能写得这么好看。
呜呜呜。
612. loj3701 「联合省选 2022」填树
比较寄啊家人们。怎么有人只会 !真有我的。
钦点 出现,且所有权值在 内的 和 是容易求的。注意到本质上只有 个值域段,每个段内的 是同样的次数 的多项式。插值+前缀和+拉插即可。
613. loj3703 「联合省选 2022」卡牌
看上去比较简单的容斥。
614. loj3705 「联合省选 2022」最大权独立集问题
???这是省选 d2t3???
毛估估一手,一个子树对外产生影响只有 被断掉的时候。所以一个子树的状态可以表示为 断掉时, 的值以及 在子树里被交换了几次。
计算一下状态数。枚举 ,当 时有 种状态,当 时,总状态数为 。
状态之间容易转移。
那就做完了??????
615. uoj568 【IOI2020】Mushrooms
ylx 介绍了一个 whzzt 提出的 q = 203 的做法,原帖可以参照 https://codeforces.com/blog/entry/82924。通过 这个序列可以做到 203。
我感觉很可能这个做法可以更优。注意到使用这个序列的每一项有一个 的限制,即 。而原帖中的做法简单地仅考虑了 ,即 。我们发现, 对后续的 part2 也是极有帮助的。所以它看起来能做到更优(?。发现这个优化在 均匀的时候不太牛,但是由于这个做法事实上只给每个蘑菇造了 +1/+2 的权值。当 均匀的时候,可以带入很多 -1/-2 的权值,那看起来还是很有前途。
当然也有可能人类智慧搓出比 更牛的东西。
616. cf1916g Optimizations From Chelsu
我有多久没点开 cf 了 /yun。
617. uoj693 地铁规划
厉害的单栈模拟双栈模拟队列题!
介绍一个基于 bit 的做法。先考虑单栈模拟双栈。记左栈元素为 0,右栈元素为 1。
当往右栈塞东西的时候,就直接塞。当第 次弹出左栈元素时,把最右边的 个 0 弹到栈顶。0 不够的话就直接 rebuild。这样每个 0 会被操作 log 次,每个 1 也只会被操作 log 次。
618. cf1864i Future Dominators
完全复读 https://www.luogu.com.cn/blog/stella-noi/cf1864i-ti-xie。
四联通和八连通的 trick 非常经典!
619. loj3500 「联合省选 2021 A」矩阵游戏
确定第一行和第一列之后是唯一的。构造出一个第一行第一列全 0 的矩阵,然后对每行每列交替加减。可以写出一个差分约束。
620. cf1750g Doping
厉害的容斥。
621. qoj4531 Slide Parade
首先考虑固定每个点出现次数,那就是一个 flow。注意到 有解,则 有解,那么考虑两个图的对称差,大概能变成一个 正则二分图。那就一定有完美匹配。
注意到如果能找出包含每一条边的完美匹配,就能构造答案。先找出一组匹配,那么包含 的完美匹配就是 flip 残量网络上 的路径。把所有 相同的边一起 bfs,总复杂度 。
622. cf1477d Nezzar and Hidden Permutations
树的菊花分解。
623. cf1290d Coffee Varieties (hard version)
完全图的链分解。
zig zag 构造可以顶到下界。
624. qoj7645 Shoes
一个结论是,既往左又往右的区间相互包含。证明使用调整法。
那就设 表示染了左边 个点,右边 个点。注意到 的点集构成一个楼梯。那么考虑每次 expand 这个楼梯,对于每个往左往右的区间是一个点权 的拓展。注意扩展的时候复杂度别假了。
625. loj3501 「联合省选 2021 A | B」图函数
对于确定的图 G,点对 合法的条件是 ,且仅保留 的点之后, 能到 且 能到 。
枚举图,再从大到小扫 ,可以获得 44 分。https://loj.ac/s/2012326。
把里面的 bitset 改成最大的边的编号,就只用扫一次了,在 loj 的神机下足以通过喜提最劣解。https://loj.ac/s/2012368。
事实上,从大到小加边,不断 expand 可达集合,用 bitset 判定当前可达集合。复杂度可以除个 。
626. qoj7520 Monster Generator
显然只有 个本质不同的打怪顺序。每个打怪顺序要求 ,也就是 。那么把 个前缀和搞出来,那就是 个一次函数取 ,那就是一个凸包。
思路不难,mark 一下,感觉可以写一写。
627. cf1548e Gregor and the Two Painters
联考搬过 /hanx。
628. cf1919g Tree LGM
/ll/ll/ll。
629. cf1919h Tree Diameter
/ll/ll/ll。
630. world tour finals 2019 c1 Triangular Lamps Easy
只听懂了 c1 /ll。
631. qoj8047 DFS Order 4
632. cf1349d Slime and Biscuits
超 经 典 老 番 再 放 送。
633. qoj8049 Equal Sums
钱哥分治背包红温题。
634. cf1842g Tenzing and Random Operations
。。。
635. qoj7905 Ticket to Ride
厉害题!
636. qoj8235 Top Cluster
637. cf1558f Strange Sort
变成 01 串。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端