[PA 2022] Muzyka pop 2

Luogu
IDLGP9256
Time1000ms
Memory512MB
DifficultyP3
2022PA(波兰)
**题目译自 [PA 2022](https://sio2.mimuw.edu.pl/c/pa-2022-1/dashboard/) Runda 2 [Muzyka pop 2](https://sio2.mimuw.edu.pl/c/pa-2022-1/p/muz/)** 你可能还记得,Matthew 喜欢流行音乐。他刚刚编好一首新歌,就差给这首歌谱一个结尾了。 Matthew 想让这个结尾包含一些非空的音符,这些音符用其响度表示,响度是一个正整数。Matthew 可以使用任何响度的音符,但结尾的任务是逐渐淡出整首歌——出于这个原因,结尾的音符响度必须形成一个严格递减的序列。 你可能知道或记得,流行音乐中好的节拍是很重要的。这次 Matthew 发现响度为 $x$ 的音符的节拍值为 $x$ 的二进制形式中 $1$ 的个数。考虑这首歌的剩余部分,他想让这个结尾所有音符的节拍值之和恰好为 $n$。 帮他找到这个正确的音符响度序列。可以证明总存在至少一个满足条件的序列,因此你的任务是输出字典序最小的序列。 注:如果对于两个数字序列 $A$ 和 $B$,在两序列第一个不同的位置,$A$ 序列中这个位置包含的整数比 $B$ 序列的小,我们称数字序列 $A$ 的字典序比 $B$ 的字典序小。如果不存在这个位置,则称更短的那个数字序列字典序更小。例如,序列 $[1, 10000000]$ 的字典序小于序列 $[2,2]$,序列 $[4, 2, 20, 30, 40]$ 的字典序小于 $[4, 2, 100, 1]$,并且序列 $[5,4,3,2]$ 的字典序小于序列 $[5,4,3,2,1]$。 ## Input 输入一行一个整数 $n$,表示要求的序列中音符的节拍值之和。 ## Output 输出第一行包含一个整数 $k$,表示找到的这个序列的长度。 第二行包含 $k$ 个正整数,表示找到的这个序列。这个序列应该是字典序最小且严格递减的,并且这些正整数的二进制表示中 $1$ 的个数和应恰好是 $n$。 [samples] ## Note 对于 $100\%$ 的数据,满足: $1\le n\le 10 ^ 6$。
Samples
Input #1
3
Output #1
2
3 1
Input #2
10
Output #2
6
7 5 4 3 2 1
API Response (JSON)
{
  "problem": {
    "name": "[PA 2022] Muzyka pop 2",
    "description": {
      "content": "**题目译自 [PA 2022](https://sio2.mimuw.edu.pl/c/pa-2022-1/dashboard/) Runda 2 [Muzyka pop 2](https://sio2.mimuw.edu.pl/c/pa-2022-1/p/muz/)** 你可能还记得,Matthew 喜欢流行音乐。他刚刚编好一首新歌,就差给这首歌谱一个结尾了。 Matthew 想让这个结尾",
      "description_type": "Markdown"
    },
    "platform": "Luogu",
    "limit": {
      "time_limit": 1000,
      "memory_limit": 524288
    },
    "difficulty": {
      "LuoguStyle": "P3"
    },
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "LGP9256"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "**题目译自 [PA 2022](https://sio2.mimuw.edu.pl/c/pa-2022-1/dashboard/) Runda 2 [Muzyka pop 2](https://sio2.mimuw.edu.pl/c/pa-2022-1/p/muz/)**\n\n你可能还记得,Matthew 喜欢流行音乐。他刚刚编好一首新歌,就差给这首歌谱一个结尾了。\n\nMatthew 想让这个结尾...",
      "is_translate": false,
      "language": "English"
    }
  ]
}
Full JSON Raw Segments