[CF1110E]Magic Stones
题目大意:有一个长度为$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相关推荐
- CF1110E Magic Stones
CF1110E Magic Stones 题目链接:(http://codeforces.com/problemset/problem/1110/E?csrf_token=c50ced6ad87d78 ...
- CF1110E Magic Stones(构造题)
这场CF怎么这么多构造题-- 题目链接:CF原网 洛谷 题目大意:给定两个长度为 $n$ 的序列 $c$ 和 $t$.每次我们可以对 $c_i(2\le i<n)$ 进行一次操作,也就是把 $c ...
- 【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 ...
- 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 ...
- Codeforces.1110E.Magic Stones(思路 差分)
题目链接 听dalao说很nb,做做看(然而不小心知道题解了). \(Description\) 给定长为\(n\)的序列\(A_i\)和\(B_i\).你可以进行任意多次操作,每次操作任选一个\(i ...
- AT2164 AGC006C Rabbit Exercise
AT2164 AGC006C Rabbit Exercise 数轴上有 \(n\) 个点,每个点的坐标为 \(a_i\) .一轮操作包含 \(m\) 次变换,第 \(i\) 次将 \(b_i(1< ...
- CodeForces - 1110E-Magic Stones(差分+思维)
Grigory has nn magic stones, conveniently numbered from 11 to nn. The charge of the ii-th stone is e ...
- 做题记录 To 2019.2.13
2019-01-18 4543: [POI2014]Hotel加强版:长链剖分+树形dp. 3653: 谈笑风生:dfs序+主席树. POJ 3678 Katu Puzzle:2-sat问题,给n个变 ...
- CF刷题(03)——难度2100~2400
这个博客记录2100到2400共17个题 2100 1.B. Maximum Value 题意:You are given a sequence a consisting of nnn integer ...
- mysql在哪执行sql语句_mysql从命令行执行sql语句
Codeforce Round #218 Div2 A:没个元素的个数少的变成多的和就是了 B:居然被systemtest搓掉了- -分东西,我改的代码,还是shit一样的过的...别人的直接两个操作 ...
最新文章
- POJ 3617 Best Cow Line 贪心
- VC++中,如何定义callback函数和它的触发事件?
- Linux查看网卡带宽
- 前端:JS/30/综合实例:选项卡(HTML,CSS,JS)
- java 对象与二进制互转
- gdb coredump oracle,GDB + CoreDump 调试记录
- Linux之如何启动tomcat服务
- linux 下的下载管理工具
- 苏嘉杭高速公路收费站升级改造(苏州地区)配电室综合监控系统的设计与应用
- CR 与 LF 换行符
- 狼来了 【dfs】【树】
- 网站被qq拦截应该怎么处理
- linux下中文输入法的安装(解决菜单栏输入法图标消失问题)
- 这不是而且不能成为“一切照旧”
- Ps算法Python实现:图层混合模式-色相
- 2020年数据标注行业回顾及2021年展望
- Windows Server 2012 NIC Teaming 网卡绑定介绍及注意事项
- Found duplicate PV SdqCHHILXNSG1bLLLqtZ9fAv6sGTtiqj的解决方法
- python按按钮变颜色_当按钮单击时更改按钮颜色
- 大数据技术Hadoop入门理论系列之一----hadoop生态圈介绍
热门文章
- 面试题之接口和抽象类的区别
- Spring Cloud Sleuth链路跟踪之使用RabbitMQ异步收集链路跟踪信息(学习总结)
- 有没有知道如何连接DB2的数据库?
- Go语言中的指针和new(T)函数的使用
- error CS1010 CS8025 CS1012 CS1525 常见文档错误解决
- 04.SQLServer性能优化之---读写分离数据同步
- php基础:变量命名、传值、检测、类型转换、动态变量名
- 5、VS2010+ASP.NET MVC4+EF4+JqueryEasyUI+Oracle该项目的开发——使用datagrid做报表
- Java基础算法--排序
- [Java][Android] 多线程同步-主线程等待所有子线程完成案例