[信息与未来 2024] 幸运数字

Luogu
IDLGB3978
Time1000ms
Memory512MB
DifficultyP2
2024江苏枚举进制信息与未来
如果一个正整数的二进制表示中,每个比特($0$ 或 $1$)的左边或右边都至少有一个相同的比特,Dr. X 就认为它是一个“幸运数字”。例如: - $(1)_2=(1)_{10}$ 有落单的 $1$,它不是幸运数字。 - $(110111)_2=(55)_{10}$ 有落单的 $0$,它不是幸运数字。 - $(111110011)_2=(499)_{10}$ 是幸运数字。 - $(110011001100)_2=(3276)_{10}$ 是幸运数字。 对于给定的 $a$ 和 $b$,Dr. X 希望你求出 $a, a + 1, a + 2, \dots, b$ 中幸运数字的数量。 ## Input 输入空格分隔的整数 $a$ 和 $b$。 ## Output 输出一行一个整数,代表 $a$ 和 $b$ 之间幸运数字的数量。 [samples] ## Note 对于 $100\%$ 的数据,满足 $1 \leq a \leq b \leq 10^6$。 >本题原始满分为 $15\text{pts}$。
Samples
Input #1
1 100
Output #1
14
Input #2
4096 65535
Output #2
1364
API Response (JSON)
{
  "problem": {
    "name": "[信息与未来 2024] 幸运数字",
    "description": {
      "content": "如果一个正整数的二进制表示中,每个比特($0$ 或 $1$)的左边或右边都至少有一个相同的比特,Dr. X 就认为它是一个“幸运数字”。例如: - $(1)_2=(1)_{10}$ 有落单的 $1$,它不是幸运数字。 - $(110111)_2=(55)_{10}$ 有落单的 $0$,它不是幸运数字。 - $(111110011)_2=(499)_{10}$ 是幸运数字。 - $(1100",
      "description_type": "Markdown"
    },
    "platform": "Luogu",
    "limit": {
      "time_limit": 1000,
      "memory_limit": 524288
    },
    "difficulty": {
      "LuoguStyle": "P2"
    },
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "LGB3978"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "如果一个正整数的二进制表示中,每个比特($0$ 或 $1$)的左边或右边都至少有一个相同的比特,Dr. X 就认为它是一个“幸运数字”。例如:\n\n- $(1)_2=(1)_{10}$ 有落单的 $1$,它不是幸运数字。\n\n- $(110111)_2=(55)_{10}$ 有落单的 $0$,它不是幸运数字。\n\n- $(111110011)_2=(499)_{10}$ 是幸运数字。\n\n- $(1100...",
      "is_translate": false,
      "language": "English"
    }
  ]
}
Full JSON Raw Segments