CSP-S 模拟 D9 总结

D9A

题意:定义 () 是好串。如果 S S S 是好串,那么 (SS...S) 也是好串。给定一个括号串 T T T,求是 T T T 子序列的好串中,字典序第 k k k 的那个。 ∣ T ∣ ≤ 150 |T| \leq 150 T150

当时看到,长度很小。这意味着好串数量肯定小于 15 0 2 / 2 150^2/2 1502/2,实际则远远更少。预处理出所有的好串,排序,然后依次判断是不是 T T T 的子串就行。

样例似乎有错。但是过了。

D9B

题意:给定一个序列 a a a,求区间最大值异或上严格次大值的最大值。 n ≤ 1 0 5 n\leq10^5 n105

原本想着尺取法,然后就需要快速查询区间最大值和次大值,就写了个 ST 表维护 RMQ。中途还写错了一次,在这里记一下写法:

  • 最大值直接普通写法。
  • 如果左边最大值大于右边最大值,右边最大值就是这个区间的次大值。小于亦然;
  • 如果相等,那么这个区间的次大值就是两个区间的次大值取大者。

写完之后发现尺取法挂了,然后才发现这题不能尺取也不能二分。最后写了个 n 2 n^2 n2 的暴力。

出题人应该是想让我们研究个什么性质然后把 n 3 n^3 n3 优化到 n 2 n^2 n2 吧。思路不够数据结构来凑,30 分到手。

D9C

题意:有 n n no m m mx,连续(极长) k k ko 的贡献是 k 2 k^2 k2,连续 k k kx 的贡献是 − k 2 -k^2 k2,找一个排列让贡献最大。 n , m ≤ 1 0 5 n,m\leq 10^5 n,m105

想了个 dp。设 f [ i ] [ j ] [ t ] f[i][j][t] f[i][j][t] 表示还剩 i i io j j jx,以及上一个连续段是什么字符。直接转移就行,时间复杂度 O ( n 3 ) O(n^3) O(n3)

原本想着拿 40 分部分分的,结果常数小还多跑过了一个点,50 分。

应该是有什么性质的,只是我没找出来。输出方案很有规律。

D9D

题意:一棵边带权的无向树,每个点的”延迟"定义为它到最远的点的距离。选一个树上连通块使得块内延迟极差不超过 D D D n ≤ 1 0 5 n \leq 10^5 n105

二合一的感觉啊。只是计算延迟我会 O ( n ) O(n) O(n) 树形 dp,块内极差就不会了。仍然是 O ( n 2 ) O(n^2) O(n2) 算法。

30 分。

Conclusion

期望得分 100+30+40+50=210,实际得分 110。

A 题因为出去做核酸了所以没写,是回来补的。一遍过。也可以算是赛时过了?

考试策略真的很重要。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值