luogu P2757 [国家集训队]等差子序列

Posted sssy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了luogu P2757 [国家集训队]等差子序列相关的知识,希望对你有一定的参考价值。

题目链接

luogu P2757 [国家集训队]等差子序列

题解

线段树好题
我选择暴力

代码

// luogu-judger-enable-o2
#include<cstdio> 
inline int read() { 
    int x = 0,f = 1; 
    char c = getchar(); 
    while(c < '0' || c > '9')c = getchar(); 
    while(c <= '9' && c >= '0') x = x * 10 + c - '0',c = getchar(); 
    return x * f; 
} 
const int maxn = 10007; 
int a[maxn],b[maxn]; 
int main() { 
    int t = read(); 
    int n; 
    while(t --) {
        n = read(); bool flag = false;  
        for(int i = 1;i <= n;++ i) a[i] = read(),b[a[i]] = i; 
        for(int i = 1;i <= n;++ i) { 
            for(int j = 1;j <= n;++ j) { 
                int k = a[i]; 
                if(k + j + j <= n) if(b[k + j] > i && b[k + j + j] > b[k + j]) {flag = true;break;} 
                if(k - j - j > 0)  if(b[k - j] > i && b[k - j - j] > b[k - j]) {flag = true;break;} 
            } 
            if(flag) break; 
        } 
        if(flag) puts("Y"); 
        else puts("N"); 
        for(int i = 1;i <= n;++ i) b[i] = 0; 
    } 
    return 0; 
} 

以上是关于luogu P2757 [国家集训队]等差子序列的主要内容,如果未能解决你的问题,请参考以下文章

CF452F Permutations/Luogu2757 等差子序列 树状数组Hash

[国家集训队]等差子序列

Luogu P4933 大师dpBy cellur925

[BZOJ2124]等差子序列

[BZOJ2124]等差子序列

2022-02-06:等差数列划分 II - 子序列。 给你一个整数数组 nums ,返回 nums 中所有 等差子序列 的数目。 如果一个序列中 至少有三个元素 ,并且任意两个相邻元素之差相同,则称