/**********************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表示極角排...