题目大意:有一个长度为$n(n\leqslant10^5)$的数列$c$,问是否可以经过若干次变换变成数列$t$,一次变换为$c'_i=c_{i+1}+c_{i-1}-c_i$

题解:思考一次变换的本质,对$c$做差分,原差分为$c_i-c_{i-1},c_{i+1}-c_i$;对$c_i$做一次变换后为:$c'_i-c_{i-1}=c_{i+1}+c_{i-1}-c_i-c_{i-1}=c_{i+1}-c_i,c_{i+1}-c'_i=c_{i+1}-(c_{i+1}+c_{i-1}-c_i)=c_i-c_{i-1}$,也就是说交换了原差分数组的两位。

所以就把$c$数组差分一下,看是不是和$t$数组相同即可,注意判断$c_1,c_n$是否和$t_1,t_n$相同,因为这两个位置无法做变换。

卡点:

C++ Code:

#include <algorithm>
#include <cstdio>
#define maxn 100010
int n;
int s[maxn], t[maxn];
int main() {scanf("%d", &n);for (int i = 1; i <= n; ++i) scanf("%d", s + i);for (int i = 1; i <= n; ++i) scanf("%d", t + i);if (s[1] != t[1] || s[n] != t[n]) {puts("No");return 0;}for (int i = n; i + 1; --i) {s[i] -= s[i - 1];t[i] -= t[i - 1];}std::sort(s + 2, s + n + 1); std::sort(t + 2, t + n + 1);for (int i = 2; i <= n; ++i) if (s[i] != t[i]) {puts("No");return 0;}puts("Yes");return 0;
}

  

转载于:https://www.cnblogs.com/Memory-of-winter/p/10359547.html

[CF1110E]Magic Stones相关推荐

  1. CF1110E Magic Stones

    CF1110E Magic Stones 题目链接:(http://codeforces.com/problemset/problem/1110/E?csrf_token=c50ced6ad87d78 ...

  2. CF1110E Magic Stones(构造题)

    这场CF怎么这么多构造题-- 题目链接:CF原网 洛谷 题目大意:给定两个长度为 $n$ 的序列 $c$ 和 $t$.每次我们可以对 $c_i(2\le i<n)$ 进行一次操作,也就是把 $c ...

  3. 【CF1110E】Magic Stones

    题目 题意翻译 题意: 一次操作选择1<i<n1<i<n,使c_ic i ​ 变为c_i'c i ′ ​ ,c_i'=c_{i+1}+c_{i-1}-c_ic i ′ ​ =c ...

  4. Codeforces Contest 1110 problem E Magic Stones —— 更改算式

    Grigory has n magic stones, conveniently numbered from 1 to n. The charge of the i-th stone is equal ...

  5. Codeforces.1110E.Magic Stones(思路 差分)

    题目链接 听dalao说很nb,做做看(然而不小心知道题解了). \(Description\) 给定长为\(n\)的序列\(A_i\)和\(B_i\).你可以进行任意多次操作,每次操作任选一个\(i ...

  6. AT2164 AGC006C Rabbit Exercise

    AT2164 AGC006C Rabbit Exercise 数轴上有 \(n\) 个点,每个点的坐标为 \(a_i\) .一轮操作包含 \(m\) 次变换,第 \(i\) 次将 \(b_i(1< ...

  7. CodeForces - 1110E-Magic Stones(差分+思维)

    Grigory has nn magic stones, conveniently numbered from 11 to nn. The charge of the ii-th stone is e ...

  8. 做题记录 To 2019.2.13

    2019-01-18 4543: [POI2014]Hotel加强版:长链剖分+树形dp. 3653: 谈笑风生:dfs序+主席树. POJ 3678 Katu Puzzle:2-sat问题,给n个变 ...

  9. CF刷题(03)——难度2100~2400

    这个博客记录2100到2400共17个题 2100 1.B. Maximum Value 题意:You are given a sequence a consisting of nnn integer ...

  10. mysql在哪执行sql语句_mysql从命令行执行sql语句

    Codeforce Round #218 Div2 A:没个元素的个数少的变成多的和就是了 B:居然被systemtest搓掉了- -分东西,我改的代码,还是shit一样的过的...别人的直接两个操作 ...

最新文章

  1. POJ 3617 Best Cow Line 贪心
  2. VC++中,如何定义callback函数和它的触发事件?
  3. Linux查看网卡带宽
  4. 前端:JS/30/综合实例:选项卡(HTML,CSS,JS)
  5. java 对象与二进制互转
  6. gdb coredump oracle,GDB + CoreDump 调试记录
  7. Linux之如何启动tomcat服务
  8. linux 下的下载管理工具
  9. 苏嘉杭高速公路收费站升级改造(苏州地区)配电室综合监控系统的设计与应用
  10. CR 与 LF 换行符
  11. 狼来了 【dfs】【树】
  12. 网站被qq拦截应该怎么处理
  13. linux下中文输入法的安装(解决菜单栏输入法图标消失问题)
  14. 这不是而且不能成为“一切照旧”
  15. Ps算法Python实现:图层混合模式-色相
  16. 2020年数据标注行业回顾及2021年展望
  17. Windows Server 2012 NIC Teaming 网卡绑定介绍及注意事项
  18. Found duplicate PV SdqCHHILXNSG1bLLLqtZ9fAv6sGTtiqj的解决方法
  19. python按按钮变颜色_当按钮单击时更改按钮颜色
  20. 大数据技术Hadoop入门理论系列之一----hadoop生态圈介绍

热门文章

  1. 面试题之接口和抽象类的区别
  2. Spring Cloud Sleuth链路跟踪之使用RabbitMQ异步收集链路跟踪信息(学习总结)
  3. 有没有知道如何连接DB2的数据库?
  4. Go语言中的指针和new(T)函数的使用
  5. error CS1010 CS8025 CS1012 CS1525 常见文档错误解决
  6. 04.SQLServer性能优化之---读写分离数据同步
  7. php基础:变量命名、传值、检测、类型转换、动态变量名
  8. 5、VS2010+ASP.NET MVC4+EF4+JqueryEasyUI+Oracle该项目的开发——使用datagrid做报表
  9. Java基础算法--排序
  10. [Java][Android] 多线程同步-主线程等待所有子线程完成案例