问题 4890 --网络热门生物鉴定Ⅳ4890: 网络热门生物鉴定Ⅳ★★★
时间限制: 1 Sec 内存限制: 256 MB
提交: 156 解决: 41
[提交][状态][命题人:]题目描述
Bogo 排序(Bogo Sort)也被称为“愚蠢的排序”,是一种非常简单但低效的排序算法,就是不断打乱元素的顺序,直到达到有序为止。又称为猴子排序(Monkey Sort),就像是请猴子帮忙排序一样。
有一天,小亮遇到了一只聪明的黑猩猩,它说它会猩猩排序,请你帮小亮鉴定下猩猩排序能否成功。
给定大小为 n 的排列 a[] 。从 1 到 n 的每个整数恰好在排列 a[] 中各出现一次。对于某些索引 i (1≤i≤n-1) ,猩猩可以将第 i 个元素与第 i+1 个元素交换,并且可以交换任意次数,但无法交换其他相邻索引的的元素。问猩猩能否通过若干次的交换,将 a[] 从小到大排序?
输入
第一行包含一个整数 n (2≤n≤200 000) ,表示 a[] 的大小。
第二行包含 n 个整数 a[1],a[2],...,a[n] (1≤a[i]≤200 000) ,表示每个元素,保证 1 到 n 中每个整数只出现一次。
第三行包含一个长度为 n-1 的字符串,每个字符是 '0' 或 '1' 。如果第 i 个字符是 1 ,则可以将第 i 个元素与 第 i+1 个元素交换任意次,反之不能交换第 i 个元素与 第 i+1 个元素。
输出
如果可以将 a[] 从小到大排序,则输出 YES ,否则输出 NO 。
提示
样例输入2
6
1 2 5 3 4 6
01010
样例输出2
NO
在第一组样例中,可以交换 a[3] 和 a[4] ,再交换 a[4] 和 a[5] 。
来源
[提交][状态]