题目背景
来自 2026 清华大学学生程序设计竞赛暨高校邀请赛(THUPC2026)初赛。
题解等资源可在 https://gitlink.org.cn/thusaa/thupc2026pre 查看。
题目描述
你要回答 T 次询问,每次询问给定两个正整数 n,m,问是否能构造一个正整数序列 a1,a2,⋯,an,使得
∃1≤j≤n, aj=m
且存在非负整数 t 满足
i=1∏n(ai+ai+1)=22t+1
其中 an+1=a1。
如果可以构造,则输出 YES,否则输出 NO。
输入格式
从标准输入读入数据。
第一行一个正整数 T(1≤T≤106),表示询问组数。
接下来 T 行,每行两个正整数 n,m(1≤n≤2×106, 1≤m≤262−1),表示你需要构造长度为 n 的正整数序列,且序列中存在 m。
输出格式
输出到标准输出。
对于每组询问依次输出一行一个字符串,其为 YES 或 NO,表示对能否构造的判定。
2
3 3
2 1
YES
NO
提示
对于第一组询问,取 a1=1, a2=3, a3=1,则
(1+3)×(3+1)×(1+1)=32=25
满足题设条件。
对于第二组询问,由 (a1+a2)2=22t+1 无正整数解即知。