U472586 Code For 1(pro max 加强版)

题目背景

作者在考试的时候不会打正解,遂用数学方法求解,因觉此方法甚妙故写出此题。 具体做法请见[csdn博客](https://blog.csdn.net/2301_79177621/article/details/140679060?spm=1001.2014.3001.5501) 注:需要加高精度算法(博文里是没有高精度的)。

题目描述

- 有一个序列,初始时只有一个数 $n(0\le n\le2^{1024})$。 - 对于序列中每一个 $>1$ 的数,拆分成三个数 $\lfloor\frac n2\rfloor,n\bmod2,\lfloor\frac n2\rfloor$ 并替换原数,直到序列中没有>1的数为止。 - 查询最终序列中 $[l,r] (1\le l,r)$ 中有多少 $1$。

输入格式

输入三个数值$n,l,r$

输出格式

输出一个数表达$l,r$区间内1的

说明/提示

## 样例解释。 以样例组1举例 ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF768B/e9c535e642142fa233499539a19c390315a69ecc.png) 所以$2-5$区间内的表格为 $ [1,1,1,1] $ ,$1$ 一共有$4$个 以样例二为例 ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF768B/a34639e1edfe488c7c83f3ed3854d0edf4f7db1f.png) 所以$3-10$区间内的表格为 $ [1,1,1,0,1,0,1,0] $ $1$ 一共有$5$个 ## 数据范围: 对于 %10 的数据$0 \le n,l \le 10^{10},r \le 10^{9}$。 对于 %20 的数据$0 \le n,l \le 10^{20},r \le 10^{19}$。 对于 %30 的数据$0 \le n,l \le 10^{50},r \le 10^{49}$。 对于 %60 的数据$0 \le n,l \le 10^{100},r \le 10^{99}$。 对于 %90 的数据$0 \le n,l \le 10^{270},r \le 10^{269}$。 对于 %100 的数据$0 \le n,l \le 10^{309},r \le 10^{308}$。