题目描述

给定一个含有n个元素的数列,第i号元素开始时数值为i,元素i可以与距离为d[i]的元素进行交换。再给定一个1-n的全排列,问初始的数列可否交换成给定的样式。

输入:第一行一个整数n,第二行n个互不相同的整数表示目标数列,第三行n个整数表示d[i];

输出:如果能交换到给定样式,输出"YES",否则输出"NO"。

1<=n<=100

输入输出样例

输入 #1


输出 #1

YES

输入 #2


输出 #2

NO

输入 #3


输出 #3

YES

解题思路

最近一直在做cf的题目,不得不说cf的题目实在是太有趣了233333

这题很明显是个并查集,对于i-d[i],i+d[i]的可移动的区域进行一个合并就ok了

AC Code

#include<bits/stdc++.h>
using namespace std;
const int N=+;
int f[N],d[N],fa[N];
int find(int x) {
if(x==fa[x])return x;
return fa[x]=find(fa[x]);
}
void merge(int x,int y) {
x=find(x),y=find(y);
if(x==y)return;
fa[y]=x;
}
int main() {
int n;
cin>>n;
for(int i=; i<=n; i++)cin>>f[i];
for(int i=; i<=n; i++)cin>>d[i];
for(int i=; i<=n; i++)fa[i]=i;
for(int i=; i<=n; i++) {
if(i-d[i]>=)merge(i,i-d[i]);
if(i+d[i]<=n)merge(i,i+d[i]);
}
for(int i=; i<=n; i++) {
if(find(i)!=find(f[i])) {
cout<<"NO"<<endl;
return ;
}
}
cout<<"YES"<<endl;
return ;
}

CF28B pSort的更多相关文章

  1. B. pSort

    题目链接: http://codeforces.com/problemset/problem/28/B 题意: 给一个n,原本有个1到n按顺序排列的序列,给一个序列问,在给一个数组,表示这个位置的数可 ...

  2. c# JD快速搜索工具,2015分析JD搜索报文,模拟请求搜索数据,快速定位宝贝排行位置。

    分析JD搜索报文 搜索关键字 女装 第二页,分2次加载. rt=1&stop=1&click=&psort=&page=3http://search.jd.com/Se ...

  3. 淘宝(阿里百川)手机客户端开发日记第四篇 自定义ListView详解

    我们知道,如果采用官方的ListView,实现的功能在很多时候,并不能满足自己的业务需求,比如在设计到复杂的列表的时候,这一节,我们就开始动手自己实现自定义的ListView. 在上一节中,我们采用了 ...

  4. 01.base-v1.js

    /* Date: 2014-01-21 */ function login() { return location.href = "https://passport.jd.com/new/l ...

  5. 【解题报告】zju-1030 Farmland

    原题地址:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=30 题目大意: 平面图有一些点和一条边,要求找这样的多边形: 1.边的 ...

  6. [CFgym]2015-2016 ACM-ICPC Pacific Northwest Regional Contest小结

    *感谢两位浙江大佬带我飞 贴下成绩 div2 div1 *div2不是我打的上个厕所就5/11了 比赛小结 A [题目大意] 有n(n<=500)个机场,两两之间距离是g[i][j],每经停一个 ...

  7. sorts

    各种排序算法: #include <stdio.h> #include <string.h> #include <ctype.h> #include <std ...

  8. python爬虫系列之爬京东手机数据

    python抓京东手机数据 作者:vpoet mail:vpoet_sir@163.com #coding=utf-8 import urllib2 from lxml import etree im ...

  9. TreeView控制消息

    控制消息的作用 通过发送消息到Treeview控件, 就能够控机Treeview控件.常用的控制有: 获取被点击的节点 获取节点的文本 设置节点的文本 获取节点的父节点 获取节点的子节点 TVM_GE ...

随机推荐

  1. Windows10 Faster R-CNN(GPU版) 运行 Demo

    上篇文章介绍了 TensorFlow 环境的搭建,这篇介绍 demo 运行 参考链接 参考链接2 1. 下载 TensorFlow object detection API 相关文件 点击跳转下载文件 ...

  2. lombok常用注解@Data@AllArgsConstructor@NoArgsConstructor@Builder@Accessors

    原贴:https://blog.csdn.net/ChenXvYuan_001/article/details/84961992 https://blog.csdn.net/weixin_382293 ...

  3. FOREIGN KEY 外键约束; UNIQUE和PRIMARY KEY 主键约束、CREATE INDEX建立索引的使用

    1)foreign key 是个约束,意思是说如果你给A字段设置了外键约束,以后你要往A字段插入数据,这个数据一定是要在foreign key 后面跟的那个字段中存在的值.这个的意义就是约束了数据的完 ...

  4. [译]深度神经网络的多任务学习概览(An Overview of Multi-task Learning in Deep Neural Networks)

    译自:http://sebastianruder.com/multi-task/ 1. 前言 在机器学习中,我们通常关心优化某一特定指标,不管这个指标是一个标准值,还是企业KPI.为了达到这个目标,我 ...

  5. Ajax.BeginForm 不执行OnSuccess

    今天用MVC做了一个表单提交,使用Ajax.BeginForm ,但是碰到一个奇怪的问题OnSuccess回调函数不执行.后来经过多次尝试才发现要引用两个东西 1.<script src=&qu ...

  6. manjaro AwesomeWM 上使用双显示器

    本文通过MetaWeblog自动发布,原文及更新链接:https://extendswind.top/posts/technical/dual_monitor_manjaro_awesome 安装ma ...

  7. ranger整合kerberos

    一.生成主体 在kerberos服务器生成用于ranger的用户主体: # kadmin.local addprinc -randkey HTTP/manager1@HADOOP.COM addpri ...

  8. Unity初学者必备5款资源插件

    Unity技术经理Sam Dogantimur为Unity初学者精心挑选和推荐了5款入门必备资源插件,涵盖游戏开发原型创作.着色器特效以及角色控制等,帮助Unity新手快速上手游戏开发. 我们将详细介 ...

  9. 监控指标 TP99 TP999 含义

    TP=Top Percentile,Top百分数,是一个统计学里的术语,与平均数.中位数都是一类. TP50.TP90和TP99等指标常用于系统性能监控场景,指高于50%.90%.99%等百分线的情况 ...

  10. ukulele弹奏模拟器v1.0(待完善)

    写在前面 最近听beyond乐队的<灰色轨迹>听上瘾了,300多遍,震惊!!尤其喜欢最后一分半钟的吉他solo,真可谓吉他没有酒,依然让我醉如老狗.. 翻了翻网上的视频,瞬间觉得单身20年 ...