P16331 After All ~綴る想い~

题目背景

![](https://cdn.luogu.com.cn/upload/image_hosting/jd8st2ou.png) 「先从我眼前消失的是你吧!?擅自跑到我无法触及的地方去的人是你吧!」 「明明让我难以企及……却还要我一直待在你的身边…想出这种酷刑的人也是你吧…」 「明明是这样,为什么我还非得被你责备不可啊…?」 「像那样…每天、每天,在我的眼前,着我的心!…还说这全都是我的错…太残忍了啊…」 ...... 「北原和我,就在刚才,终于成为朋友了啊」 「把想说的话,全都说出来了呢。终于变成了,知根知底的关系了呢」 「只是,在成为朋友的瞬间,就绝交了」 「别追哦…这次你不要追我哦?以后,不要再出现在我面前了哦?」 所以,我… 一步、又一步地,拉近与她之间的距离。将冬马,逼得走投无路。被我吸引了注意力的冬马被护栏挡住,再也无法后退。 我终于,用自己的手,抓住了冬马。我抓住她的肩膀,让她正面对着我,发现她那红肿的眼晴,以及湿润的脸颊酝酿出了和平时的冬马完全不一样的感觉。 即使是这样一幅惨状,冬马也依然十分美丽,这份无可动摇的事实已经在我心中根深蒂固了… 那个瞬间… 存在于我心中的女孩,这个世界上仅此一人。

题目描述

你有一个长为 $n$ 的环,初始每个位置的值都为 $0$,编号为 $1 \sim n$。给定两个长为 $n$ 的序列 $a_i,b_i$,你可以进行以下操作若干次: - 选择一个点 $i$,把环上从 $i$ 开始往后连续长为 $i$ 的区间加或减去 $b_i$。 问是否存在一种操作方案环上每个位置权值**恰好等于** $a_i$,若存在,请构造一种。你只需要输出每个点加上 $b_i$ 的次数减去减掉 $b_i$ 的次数。 **保证 $\operatorname{lcm}(b_i) \le 10^{9}$**。 若你在某个测试点只能判断存在性,也可获得该测试点的部分分数,详见【评分方式】。

输入格式

第一行一个正整数 $T$,表示测试点数量。对于每组测试数据: - 第一行一个正整数 $n$,表示环长。 - 第二行 $n$ 个整数 $a_i$,表示目标权值。 - 第三行 $n$ 个正整数 $b_i$。

输出格式

对于每组测试数据: - 第一行输出 `YES` 或 `NO`,表示你的判断。 - 若有解,在第二行输出 $n$ 个整数表示你的构造,你需要保证所有整数在 $-10^{32}$ 到 $10^{32}$ 之间。

说明/提示

**【数据范围】** **本题使用子任务捆绑**。 对于所有测试数据,$1\le n,T,\sum n \le 10^6$,$0 \le |a_i|\le 10^9$,$1\le b_i,\text{lcm}(b_i) \le 10^9$。 |子任务编号|$n\le$|特殊性质|分值| |:-:|:-:|:-:|:-:| |$1$|$5$|A|$10$| |$2$|$10^6$|B|$10$| |$3$|$10^6$|C|$20$| |$4$|$10^6$|D|$20$| |$5$|$10^6$|无|$40$| - 特殊性质 A:保证 $T \le 10$,且若有解,一定存在一个解使得每个 $b_i$ 加或减的次数不超过 $5$。 - 特殊性质 B:保证存在非负整数 $k$ 使得 $n=2^k$。 - 特殊性质 C:保证所有 $a_i$ 相等。 - 特殊性质 D:保证 $2 \nmid n$。 **【评分方式】** - 若正确判断了所有测试数据答案的存在性,可获得该测试点 $40\%$ 的分数。注意,若你只能判断存在性,也请在存在的测试数据中的第二行输出 $n$ 个范围内的整数。 - 若正确判断了所有测试数据答案的存在性,且对于所有存在答案的测试数据都构造出了一组正确的解,可获得该测试点 $60\%$ 的分数。