Loading

3.6 CW 模拟赛 T2. 小朋友

前言

这种题真的不是没做过, 最应该做出来的题却连基本思路都不会
一定要冷静下来学, 不要浮躁
冷静, 耐心, 放下

自己做, 永远自己做, 题解是一个非常坏的习惯, 一定要改过来, 加油

做什么事情都应该彻底冷静下来, 这样做的最好
但是这样太慢了, 不适合在考试环境中使用, 但是平时提高能力用这种方法完全没有问题

记得明天还要补之前的 \(\rm{dp}\) , 至少看一下

思路

题意

给定字符串 S,TS, T , 可以删除一些位置 ii 对应的 Si,TiS_i, T_i 形成 S,TS', T'
求最终字典序最大S+TS' + T'

  • 定义操作 (约束) 和开销 / 收益, 要求最值化开销 / 收益

    • 模拟操作, 找性质
    • 将约束条件数学化
    • 最优化问题的瓶颈, 考虑找最优解的性质来处理
    • 逐元素处理
      • 先找到统一的构造方式
      • 直接处理
      • 推导动态规划
  • 子序列类问题

    • 对于涉及到 \(1, -1\) 的问题, 善于通过 \(\Delta\) 和前缀后缀来解决
    • 往往 \(\rm{dp}\)
  • \(\rm{dp}\)

    • 先考虑最终答案的表达式 \((\)合法解的构造方案\()\) , 基础上进行 \(\rm{dp}\)
    • 子序列类问题, 一维对应原串

先将约束条件数学化
求一组 \(x_i\) , 使得 \(\textbf{hash}\)\(\{\bigcup S_{x_i}, \bigcup T_{x_i}\}\) 最大

考虑逐元素处理的 \(\rm{dp}\) , 设计状态 \(f_{i, j}\) 表示考虑到 \(i\) , 当前 \(|x| = j\) 的最大 \(\textbf{hash}\)\(\{\bigcup S_{x_i}, \bigcup T_{x_i}\}\)
不难发现 最大 \(\textbf{hash}\) 满足我们之前说的贪心性质, 因此可以直接存储在动态规划数组里面
然后就很好 \(\rm{dp}\)

总结

满足贪心性质的状态可以存储在状态数组中
当要求一个 的贡献最大时, 你仍然可以考虑 \(\rm{dp}\)

posted @ 2025-03-07 08:00  Yorg  阅读(16)  评论(0)    收藏  举报