LA5052
来源:互联网 发布:海绵软件qq改保改密 编辑:程序博客网 时间:2024/06/15 06:18
题目大意:
给你两串数字,求出有多少个连续序列可以构成a的子集也可以构成b的子集。
思路:
由于是连续的序列 所以只要求出a串中的起点和终点,然后b串的这两个点的距离如果和a的是一样的那么就满足条件。
代码:
#include <iostream>using namespace std;#include <cstring>#include <stdio.h>int n;const int MAXN = 3010;int a[MAXN],b[MAXN];int main() { int l,r; int pos; int res; while(scanf("%d",&n) && n) { res = 0; for(int i = 0; i < n ; i++) scanf("%d",&a[i]); for(int i = 0; i < n; i++) { int temp; scanf("%d",&temp); b[temp] = i; } for(int i = 0; i < n; i++) { l = r = b[a[i]]; for(int j = i + 1; j < n; j++) { pos = b[a[j]]; l = min(pos,l); r = max(pos,r); if(j - i == r - l) res++; } } printf("%d\n",res); } return 0;}
0 0
- LA5052
- Genome Evolution LA5052
- 1014. 福尔摩斯的约会 (20)
- java.lang.ClassCastException: android.widget.ListView 替换控件出错 如自定义mlistview继承listview
- 大芝麻 APP
- Redis学习笔记(一)Redis数据库入门
- 欢迎使用CSDN-markdown编辑器
- LA5052
- 网站建设(2)——DNS及DNS解析
- NY27水池数目
- Http学习之使用HttpURLConnection发送post请求深入
- i++和++i
- ViewPager 轮播图,添加指示点
- Aaron Swartz
- Swift编程基础(一):常量与变量
- 社交数据在征信领域的应用探索