Typesetting math: 100%

Codeforces Round #138 (Div. 2)

A. Parallelepiped

  • 枚举其中一边,计算其他两条边。

B. Array

  • 模拟。

C. Bracket Sequence

  • 栈。

D. Two Strings

  • pre[i]pre[i]表示第i个参与匹配的最长前缀。
  • suf[i]suf[i]表示[i,n][i,n]能匹配的最大后缀,可以不包括位置i。
  • 如果存在pre[i]==0 or pre[i]+suf[i+1]<mpre[i]==0 or pre[i]+suf[i+1]<m,说明位置i不能够拼成串tt
  • pre[i]pre[i]:如果ii匹配了长度pre[i]pre[i],那么所有位置j>ij>i且字符为t[pre[i]+1]t[pre[i]+1]的匹配长度至少为pre[i]+1pre[i]+1,那么可以用线段树维护区间最值即可。
  • 上述做法是比较麻烦的,用p[i][j]p[i][j]表示距离ii最近的字符jj的位置,可以比较方便地求,空间复杂度比较大就是。

E. Partial Sums

  • 单独考虑每个数在每个位置的贡献即可,出现的次数为组合数。
posted @   mcginn  阅读(135)  评论(0编辑  收藏  举报
编辑推荐:
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
· dotnet 源代码生成器分析器入门
阅读排行:
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(四):结合BotSharp
· Vite CVE-2025-30208 安全漏洞
· 《HelloGitHub》第 108 期
· MQ 如何保证数据一致性?
· 一个基于 .NET 开源免费的异地组网和内网穿透工具
点击右上角即可分享
微信分享提示