加载中...

信息奥赛题解|渚千夏的串


浙理工2023新生赛|渚千夏的串


🚀 题目浏览

【题目描述】

我们定义一个 01 串的权值,是其子序列为 01 的个数。

先给定权值 m ,试构造一个合法的 01 串使其权值为 m 且长度在 10^5 以内。

01 串即字符集仅包含 0,1 的字符串。

注意:序列 a 是字符串 b 的子序列,当且仅当 a 可以通过删除 b 中的若干(可能为零或全部)元素得到。例如:对于串 01011,字符串 1011,111 都是它的子序列。

【输入】

输入包含一个正整数 $m (0 \leq m \leq 10^9)$ ,代表 01 子序列的个数。

输入数据保证有解。

【输出】

输出第一行,包含一个正整数 $n (1 \leq n \leq 10^5)$,表示 01 串的长度。

输出第二行,包含一个长为 n 的 01 串。

【输入样例1】

2

【输出样例1】

3
001

【输入样例2】

5

【输出样例2】

6
010001

【原题链接】

https://acm.zstu.edu.cn/problem.php?id=4881


☘️ 题解分析


🧑🏻‍💻 C++ 代码


文章作者: Rickyの水果摊
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Rickyの水果摊 !
  目录