Longest Increasing Subsequence (构造+二进制)
题意:
构造一个1,2,...,𝑛的排列,使其恰好有𝑚个不同的最长上升子序列。
𝑚≤10^9,要求𝑛≤100。
题设条件下一定有解。
- 思路 他是为了弄出m于是
- 利用二进制的思想, 需要哪一位,就让哪一位补充一个,
- 二进制的建立就是 2个数 2个数的弄, 然后 取出来就行了
- 二进制的一 怎么弄,就弄一个小的数塞进去就行了
- 然后 建立的时候 数弄大一点就OK了
反思:
- 自己想的时候一下子就想歪了,没有牢牢抓住题意
- 二进制是想到了,那个1的处理,我是想在弄一个新的数列加起来,这样是超过n的
- 然后就放弃这个思路了, 这个时候为什么就不多想想还有没有其他情况的构造
- 这个是构造题呀!! 牢牢抓住本题的构造特性!!
- 而且这个二进制一般就是正解,一定要坚持呀