BZOJ2083: [Poi2010]Intelligence test
来源:互联网 发布:js ajax fail 编辑:程序博客网 时间:2024/05/17 06:39
题目大意:给定一个数串,和m个小数串,问这些小串都是不是大数字串的子序列
正常只有一个小串的话思路肯定是在大串上一个个扫,遇到和小串一样的就窜一位...
我们可以用vector来让多个小串一起进行这个事情,这样大串只需要扫一遍就可以了...
用vector存下现在每个小串的下一位,大串每前进一次就把所有符合条件的小串也前进一位,这样时间上限为所有字符串的总长度
#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<vector> #define N 1000010using namespace std;int a[N];vector<int>b[N],v[N];int t[N],len[N];bool ans[N];int S[N],T;int main(){int n,m;scanf("%d",&n);int i,j,x,y;for(i=1;i<=n;i++)scanf("%d",&a[i]);scanf("%d",&m);for(i=1;i<=m;i++){scanf("%d",&len[i]);for(j=1;j<=len[i];j++){scanf("%d",&x);b[i].push_back(x);}v[b[i][0]].push_back(i);t[i]=1;}for(i=1;i<=n;i++){T=0;for(j=0;j<v[a[i]].size();j++){x=v[a[i]][j];t[x]++;if(t[x]>len[x]) ans[x]=true;else T++,S[T]=x;}v[a[i]].clear();for(j=1;j<=T;j++)v[b[S[j]][t[S[j]]-1]].push_back(S[j]);}for(i=1;i<=m;i++){if(ans[i]) puts("TAK");else puts("NIE");}}
0 0
- BZOJ2083: [Poi2010]Intelligence test
- BZOJ2083: [Poi2010]Intelligence test
- bzoj2083 POI2010 Intelligence Test
- 【bzoj2083】[Poi2010]Intelligence test
- [BZOJ2083][Poi2010]Intelligence test(sort+二分)
- [bzoj2083][Poi2010]Intelligence test(二分)
- BZOJ2083:[POI] TES-Intelligence Test
- POI2010 Intelligence Test
- 2083: [Poi2010]Intelligence test
- BZOJ 2083 [Poi2010]Intelligence test
- 【BZOJ】【P2083】【Poi2010】【Intelligence test】【题解】【二分】
- BZOJ 2083 Poi2010 Intelligence test 链表
- BZOJ 2083 [Poi2010]Intelligence test 二分查找
- bzoj 2083: [Poi2010]Intelligence test (二分)
- [POI2010]TES-Intelligence Test 洛谷3500 二分
- 【bzoj2083】 POI2010Intelligence test 乱搞
- bzoj2083
- Intelligence test(test)题解
- UVA - 1025 A Spy in the Metro
- 最新的人脸识别特征点定位方法--人脸识别关键点技术颜鉴提供
- 给JavaScript 初心者的ES2015 实战
- Swift 数组基础
- javascript原生小练习(三)--拼图小游戏
- BZOJ2083: [Poi2010]Intelligence test
- Android Context与接口的强制类型转换
- cocos2d - JS 手机浏览器上显示cc.log()
- 最简易的网络框架封装(新手可看)
- QFuture 类 Qt 控制线程
- 互联网运营人员不得不知的14款工具神器
- onchange监听input值变化及input隐藏后change事件不触发的原因与解决方法
- gcf,gca,gco的区别
- 很认真的聊一聊程序员的自我修养