题目描述

有一串数字 A1,A2...An 
每次可以进行如下操作,选择一个数字 i ,将 (Ai-1 , Ai , Ai+1) 
变为 (Ai-1 + Ai , -Ai , Ai+1 + Ai) ,特别地,若 i=N ,则 (An-1 , An) 变为 (An-1 + An , -An) .
问:能否通过若干次操作得到 B1,B2...Bn ?

输入

第一行一个正整数 T 表示数据组数。
每一组数据有三行,其中:
第一行一个正整数 n,表示每一串数字的个数;
第二行 n 个用空格隔开的整数, 表示A1,A2,...An;
第三行 n 个用空格隔开的整数, 表示B1,B2,...,Bn。

输出

对于每一组数据,输出一行”YES”或”NO”(不含双引号),表示能否通过若干次操作得到 B 数列。

样例输入

2
6
1 6 9 4 2 0
7 -6 19 2 -6 6
4
1 2 3 4
4 2 1 3

样例输出

YES
NO


题解

乱搞

(前一天宋爷讲过的类似的题,bz月赛就考了。。)

对序列求前缀和,可以发现每次操作后这三(两)个位置的前缀和变化为: (Si , Si-1 , Si+1),相当于每次操作在前缀和序列中交换了它和它前面的数。

而通过交换相邻的两个数可以得到该序列的全部排列,因此直接比较A和B的前缀和序列是否为相同的序列的排列即可。排序后直接逐个比较即可。

时间复杂度$O(Tn\log n)$

#include <cstdio>
#include <algorithm>
using namespace std;
typedef long long ll;
ll a[100010] , b[100010];
int main()
{int T;scanf("%d" , &T);while(T -- ){int n , i;scanf("%d" , &n);for(i = 1 ; i <= n ; i ++ ) scanf("%lld" , &a[i]) , a[i] += a[i - 1];for(i = 1 ; i <= n ; i ++ ) scanf("%lld" , &b[i]) , b[i] += b[i - 1];sort(a + 1 , a + n + 1) , sort(b + 1 , b + n + 1);for(i = 1 ; i <= n ; i ++ )if(a[i] != b[i])break;if(i > n) puts("YES");else puts("NO");}return 0;
}

转载于:https://www.cnblogs.com/GXZlegend/p/7761315.html

【bzoj5071】[Lydsy十月月赛]小A的数字 乱搞相关推荐

  1. 【bzoj5072】[Lydsy十月月赛]小A的树 树形背包dp

    题目描述 给出一棵n个点的树,每个点有黑白两种颜色.q次询问,每次询问给出x和y,问能否选出一个x个点的联通子图,使得其中黑点数目为y. 输入 第一行一个正整数 T 表示数据组数. 对于每一组数据,第 ...

  2. bzoj 4921: [Lydsy六月月赛]互质序列

    4921: [Lydsy六月月赛]互质序列 Time Limit: 1 Sec  Memory Limit: 256 MB Submit: 188  Solved: 110 [Submit][Stat ...

  3. 小程序自定义数字键盘|仿微信支付、支付宝支付密码键盘

    微信小程序自定义键盘插件wcKeyboard|仿微信数字软键盘|仿支付宝自定义数字键盘|小程序自定义模拟系统键盘 前段时间有开发过一个html5仿支付宝.微信支付数字键盘,在某些情况下自定义数字键盘应 ...

  4. [BZOJ4920][Lydsy六月月赛]薄饼切割

    [BZOJ4920][Lydsy六月月赛]薄饼切割 试题描述 有一天,tangjz 送给了 quailty 一张薄饼,tangjz 将它放在了水平桌面上,从上面看下去,薄饼形成了一个 \(H \tim ...

  5. P4942 小凯的数字

    小凯的数字 题目背景 NOIP2018 原创模拟题T1 NOIP DAY1 T1 or DAY 2 T1 难度 是否发现与NOIP2017 DAY1 T1 有异曲同工之妙 题目描述 小凯有一天突发奇想 ...

  6. 数学小魔术 —— 猜数字(二)(我回来了)

    数学小魔术--猜数字 请你的同伴随便选一个两位数(当然不告诉你是什么数字),然后要求他从这个数中任意减去一个一位数(1-9,随便哪个都可),把差值乘上 9,得出该乘积之后,再加上原来选定的那个数目,把 ...

  7. 【原创】深度学习第7弹:小D识数字(MNIST手写数字集)

    目录 一.前文回顾 二.MNIST手写数字数据集 1.什么是MNIST手写数字数据集 2.MNIST手写数字数据集下载 三.重构神经网络 1.为什么要重构神经网络 2.重构什么样的神经网络 四.识别数 ...

  8. Cloud一分钟 |周小川回应数字货币; 易到高管内讧风波未停;恒大健康回应FF员工诉讼...

    Hello,everyone: 11月19日早,星期一 CSDN一分钟新闻时间: 周小川:数字货币和电子支付不需要对立起来   这是再给币圈回血吗 罗永浩被指无法支付员工工资,锤子:危机是有请给时间 ...

  9. Qt小游戏-猜数字游戏(使用设计器完成界面设计)

    目录 1.需要的知识点: 2.工程创建好后,先在设计器中实现界面 3.代码实现部分 ​编辑 使用QtCreator 完成简单小游戏-猜数字游戏实现效果如下: 1.需要的知识点: QLabel显示图片, ...

最新文章

  1. java应用之solr入门篇
  2. badminton training
  3. 基于IO流读取的 完成 用户登录,注册,修改,查看所有用户,删除功能
  4. Chrome划词翻译插件
  5. clickhouse官方文档_clickhouse分析:zookeeper减压概述
  6. 图解TCPIP-MAC地址(数据链路层)
  7. Kettle构建Hadoop ETL实践(五):数据抽取
  8. 程序设计作业——系统管理
  9. 推销员基础解法c++
  10. android设备如何挂载sdcard(有些设备是自动挂载的)
  11. 乖 == 孝顺 ?
  12. Vue获取浏览器唯一标识
  13. Tomcat是什么东西?
  14. Windows安装TVM详细教程及报错提示
  15. 全相位算法c语言表达,基于全相位FFT的电力谐波检测方法研究
  16. JAVA二维码生成工具
  17. 初学前端收集的字体图标以及字体网站
  18. PSO粒子群优化-LSTM-pyswarms框架-实现期货价格预测
  19. 5个优质动漫资源网,满满的干货,爱看动漫的朋友偷偷收藏起来吧
  20. app从java到so加密逆向分析过程(一)

热门文章

  1. 小学校园计算机兴趣小组,小学计算机兴趣小组活动记录文本.doc
  2. L2-008 最长对称子串(马拉车 or 技巧暴力)
  3. php7不解析下载,Centos7 配置apache和php,登陆web提示下载,不解析php文件
  4. 优化美国服务器,美国服务器性能优化
  5. mysql 的hash和b tree_mysql索引hash索引和b-tree索引的区别
  6. web前端知识天天学(3)
  7. TestNG学习(一)
  8. 不只是新车,2019上海车展还有这些彩蛋 | 一级供应商、科技公司篇
  9. ValueAnimator 使用注意事项
  10. CENTOS利用Keepalived构建双主MySQL+双机热备