題意自己看
/* 正解是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...