scz 7.30 B

这篇博客介绍了多种算法的应用:线段树用于动态维护数据;字符串匹配采用栈来判断字母配对,避免交叉;矩阵快速幂解决复杂计算问题。文章深入浅出地阐述了这些算法的实现思路和应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

A.regia

线段树随意维护。全场唯一挂分

B.papy

我们沿着这个词从左到右迭代,并保留我们还没有配对的字母数组。假设我们遇到一个字母A.我们将检查最后一个不成对的字母是否为A:如果是,我们可以将其与新的字母配对,并将其从不成对的字母数组中删除。如果最后一个不成对的字母是B,我们必须将新的字母A添加到不成对的字母数组(我们不能与以前的一个A配对),因为如果我们尝试连接B后,它要形成的弧线将与字母A形成的弧线相交 )。

请注意,我们保留的不成对字母的数组是一个堆栈:一个结构,可以添加元素到最后,访问最后一个元素并删除最后一个元素。如果我们完成迭代后堆栈是空的,那么这个词是好的。
(原题解)

C.tran

模拟。

D.math

将问题转化为选择\(n - k\)个数,不难发现排序后选择连续一段由于选择若干段。设\(b_i = a_i - a_{i - 1}\),对于区间\([i,i + n - k - 1]\),答案为\(a_{i + n - k - 1} - a_i + \min_{j = i + 1} ^ {i + n - k - 1} \{b_j\}\),单调队列维护后对所有区间答案取min。

E.ctm

转成矩阵乘法,然后快速幂。

F.aqu

不会,爬了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值