首页 > 其他 > 详细

Codeforces Round #685 (Div. 2) B

时间:2020-11-22 22:20:41      阅读:34      评论:0      收藏:0      [点我收藏+]

Codeforces Round #685 (Div. 2) B

大意

给你一个01串,每次询问 \(l,r\) ,判断是否存在原串的一个子序列等于 \(l,r\) 的子串。

思路

只要最左边的 \(0/1\) 可以向左移动,或者最右边的 \(0/1\) 可以向右移动,就一定存在,否则一定不存在。

代码

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cmath>
#include <cstring>
using namespace std;

#define ll long long
#define ull unsigned long long
#define cint const int&
#define Pi acos(-1)

const int mod = 998244353;
const int inf_int = 0x7fffffff;
const ll inf_ll = 0x7fffffffffffffff;
const double ept = 1e-9;

int t, n, q;
string a;

int main() {
    cin >> t;
    int l, r;
    while(t--) {
        cin >> n >> q;
        cin >> a;
        for(int i=1; i<=q; i++) {
            bool flag=0, s1=0, s2=0;
            cin >> l >> r;
            for(int j=r+1; j<=n; j++)
                if(a[j-1] == a[r-1]) flag=1;
            for(int j=l-1; j; j--)
                if(a[j-1] == a[l-1]) flag=1;
            if(flag) cout << "Yes" << endl;
            else cout << "No" << endl;
        }
    }
    return 0;
}`

Codeforces Round #685 (Div. 2) B

原文:https://www.cnblogs.com/ullio/p/14020941.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!