专栏文章

题解:AT_arc127_a [ARC127A] Leading 1s

AT_arc127_a题解参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@miqfg9yg
此快照首次捕获于
2025/12/04 03:56
3 个月前
此快照最后确认于
2025/12/04 03:56
3 个月前
查看原文

思路

看到题解里没有这种思路,想来发一波。

首先,我们要知道一个函数 sprintf(在头文件 <cstdio> 中)。1
他的原型是:
CPP
inline int sprintf(char *_stream,char *format,...);
不就比 printf 多了几个参数吗……
  1. _stream 参数:它是指你需要将数据发送的参数。比如一个数组。
  2. format... 参数:和 printf 没有区别。
那么就有了以下思路:
  1. 输入上限 NN
  2. 分治:使用 sprintf 函数将一个 unsigned long long 2 压入一个数组中。
  3. 循环判断高位 11,然后用一个变量保存。

拾遗

Footnotes

  1. 也可以用 <iostream> 头文件。
  2. 使用 ull 是有原因的。题目说明 1N10151 \le N \le 10^{15}(小于 ull 的最大值)。

评论

0 条评论,欢迎与作者交流。

正在加载评论...