Longest Increasing Subsequence (构造+二进制)

 

题意:

构造一个1,2,...,𝑛的排列,使其恰好有𝑚个不同的最长上升子序列。

𝑚≤10^9,要求𝑛≤100。

题设条件下一定有解。

  •  思路 他是为了弄出m于是
  • 利用二进制的思想, 需要哪一位,就让哪一位补充一个, 
  • 二进制的建立就是 2个数 2个数的弄, 然后 取出来就行了
  • 二进制的一 怎么弄,就弄一个小的数塞进去就行了
  • 然后 建立的时候 数弄大一点就OK了

反思:

  • 自己想的时候一下子就想歪了,没有牢牢抓住题意
  • 二进制是想到了,那个1的处理,我是想在弄一个新的数列加起来,这样是超过n的
  • 然后就放弃这个思路了, 这个时候为什么就不多想想还有没有其他情况的构造
  • 这个是构造题呀!! 牢牢抓住本题的构造特性!!
  • 而且这个二进制一般就是正解,一定要坚持呀
posted @ 2022-08-15 20:29  VxiaohuanV  阅读(14)  评论(0编辑  收藏  举报