Loading

Nikita and LCM

前言

并非 \(\rm{dp}\)

相当于以后就是强度中/高的考试大全了, 唉唉唉
保证手上在做事就行了, 听讲什么的继续
然后就是复习不能丢, 二轮复习把之前缺的目录补一下, 链接不用带了, 应该没什么意义, 真的需要链接才知道表达的是什么的题多半也不会有重复出现的机会, 留给天赋哥吧
看完题解一定要自己推, 不多说了
每日 \(\rm{C/D}\) 形式上应当保留

总结一下
考试该怎么考怎么考

补题看 \(\rm{TJ}\) 或者有讲就去听, 之后必须自己推
做事落到实处, 心态要好
复习带上体系

大概可以划归成 看 \(\textrm{TJ}\) 或者有讲就去听 \(\to\) 自己推 \(\to\) 复习(体系) 或者每日 \(\rm{C/D}\)
其中做事落到实处, 心态要好

  • 先从已经确定的部分开始考虑
    • 拆分序列法
      • 一般从可以严格分成两部分来考虑
      • 分成两个同性质的串加上一个构造 \((\)例如 \((X)Y\) 用于构造新的合法括号串\()\)
      • 分成两个同性质的串, 递归分治
  • 先排除无效元素
  • 枚举开销所需要的一个值\((\)超过 \(x\) / 不大于 \(x\) / 和小于 \(x\) 中的 \(x\)\()\) , 然后考虑对于这个值进行
    - 贪心
    - 判断合法性

思路

题意

求序列中最长子序列, 使其满足子序列内 lcm\rm{lcm} 不存在于序列中

做法 \(1\)

\(a\) 排序
首先如果 \(\textrm{lcm} (a_1, a_2, a_3, \cdots a_n) \neq a_n\) 的话, 那么显然答案为 \(n\)
因此排除这种情况, 从 \(\textrm{lcm} (a_1, a_2, a_3, \cdots a_n) = a_n\) 开始考虑

考虑答案为 \(k\) , 也即长度为 \(m \in (k, n]\) 的子序列 \(p\) 全部满足 \(\textrm{lcm} (p_1, p_2, p_3, \cdots p_m) \in a\)
不难发现 \(\textrm{lcm} (p_1, p_2, p_3, \cdots p_m) | a_n\) , 不难发现直接计算哪些不是特殊子序列真不好做, 不妨枚举 \(x | a_n\) 中不属于 \(a\) 的那些数作为 \(\rm{lcm}\) , 然后贪心找最长子序列满足其要求, 这样可以找到最长的特殊子序列

做法 \(2\)

发现可能的子串 \(\rm{lcm}\) 在排除完答案为 \(n\) 之后一点也不多
直接 \(\rm{dp}\) , 太不牛了

总结

善于从已经确定的部分开始考虑
或者说先排除无效元素

\(\rm{lcm}\) 常用的性质

  • 不降性
  • 因数性

posted @ 2025-03-01 16:52  Yorg  阅读(10)  评论(0)    收藏  举报