cf669d 觀察規律

2021-07-11 10:43:55 字數 1541 閱讀 7067

/**********************jibancanyang**************************

*author :jibancanyang

*created time : 一 4/25 01:45:31 2016

*file name : cf669d.cpp

*problem:觀察規律

*get:有規律奇數偶數總是相互間隔,且奇數同奇數相對位置不變,偶數同偶數相對位置不變。

*說以還是要多出資料,觀察盡可能多的性質

***********************[email protected]**********************/

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

using

namespace

std;

typedef pair pii;

typedef

long

long ll;

typedef

unsigned

long

long ull;

vector

vi;

#define pr(x) cout << #x << ": " << x << " "

#define pl(x) cout << #x << ": " << x << endl;

#define xx first

#define yy second

#define sa(n) scanf("%d", &(n))

#define rep(i, a, n) for (int i = a; i < n; i++)

#define vep(c) for(decltype((c).begin() ) it = (c).begin(); it != (c).end(); it++)

const

int mod = int(1e9) + 7, inf = 0x3fffffff, maxn = 1e6 + 12;

int a[maxn];

int n, q;

int main(void)

else

}a[one] = 1, a[two] = 2;

for (int i = (one + 2) % n, t = 3; i != one; i = (i + 2) % n)

for (int i = (two + 2) % n, t = 4; i != two; i = (i + 2) % n)

for (int i = 0; i < n; i++)

puts("");

return

0;}

CF 427D 字尾陣列

題意 求兩串字串的公共最短子串,且這個子串只在任意一串中出現一次 首先明確字尾陣列將所有的字尾 也可以視為第i個點開始的子串 字典序排列,將最近似的子串集合在一起。lcp求的是附近兩個子串的最長公共字首 如果某乙個子串當且僅當出現兩次,則必須是lcp i 是區域性最大。該子串最大長度為lcp i 最...

CF915D 解題報告

此題目洛谷評分錯誤,根本沒有紫題難度。最開始的想法 列舉刪除的每一條邊,做一遍拓撲排序,最後直接暴力得出答案。但是,仔細分析時間複雜度 o m n m 根本過不去,所以想優化。我們可以發現,當有 x 條邊是指向 u 時,我們在上面的演算法流程中就會把每一條邊都列舉一次,列舉 x 次。但仔細想想,對於...

CF70D(動態凸包)

給出q 1e5 個詢問,每次在加上乙個點,維護凸包,或者詢問某個點是否在凸包內 在邊上也算 聽說可以用cdq做 但是並不會。我等蒟蒻只會用平衡樹做。首先,假設已經維護出了某個點按照極角排序的凸包,那麼對於加入的乙個點,我們首先要查詢它是在凸包內還是凸包外 這個功能也可以用於題目中的查詢 o表示極角排...