bzoj2124 等差子串行 暴力

2021-07-22 22:26:30 字數 627 閱讀 3134

題意自己看

/* 正解是hash+樹狀陣列

但我太蒟蒻了

不會寫

只好寫暴力了

*/ 維護乙個0,1字串

0表示這個字元在左邊

1表示不再左邊

列舉兩邊是否有(0,1)對稱分布

雖然複雜度超了

但的確能過(資料水)

#include

#include

#include

using

namespace

std;

int n;

int a[10005];

int front[10005];

int back[10005];

int main()

bool ok=false;

front[a[1]]=1;

back[a[1]]=0;

for(int i=2;i0;

for(int j=1;j<=min(a[i]-1,n-a[i]);j++)

}front[a[i]]=1;

}if(ok==true)

else

}return

0;}

BZOJ2124 等差子串行

挺厲害的題 我們考慮當前加入了第i個數,為x,那麼我們可以維護一下哪個數出現過,出現過為1,沒出現為0,那麼加入x的時候我們只需要判斷以x為中心的極長子串是否是回文串即可 用乙個樹狀陣列維護兩個方向的雜湊值即可 include include include include include incl...

bzoj 2124 等差子串行

description 給乙個1到n的排列,詢問是否存在1 p1 p2 p3 p4 p5 plen n len 3 使得ap1,ap2,ap3,aplen是乙個等差序列。input 輸入的第一行包含乙個整數t,表示組數。下接t組資料,每組第一行乙個整數n,每組第二行為乙個1到n的排列,數字兩兩之間用...

BZOJ 2124 等差子串行

給乙個1到n的排列,詢問是否存在 3 plen 使得ap1,ap2,ap3,aplen是乙個等差序列。輸入的第一行包含乙個整數t,表示組數。下接t組資料,每組第一行乙個整數n,每組第二行為乙個1到n的排列,數字兩兩之間用空格隔開。對於每組資料,如果存在乙個等差子串行,則輸出一行 y 否則輸出一行 n...