原创 翻轉括號

題目描述可愛的PLY有一個長度爲nn的括號序列a[1-n]a[1−n](即僅由字符'('與字符')'組成的字符串)。某一天,PLY的心上人Gay王·齊齊去PLY家玩耍,他對這個括號序列很是喜歡,PLY說只要齊齊能答對一個問題就把這個括號序

原创 Eratosthenes篩法(素數篩)

最一般的素數篩思想很簡單,對於不超過maxx的每個非負整數p,刪除2p,3p,4p,……,然後剩下的就是素數,複雜度O(nlogn),因爲對內層循環n/2+n/3+......+n/n  小於  1+1/2+1/3+...+1/n=ln(

原创 組合數遞推

有些初學者可能不知道比較大的組合數怎麼求,因爲如果用組合數的定義公式來求很快就溢出了。爲了求出更大的組合數可以利用組合數的遞推公式C(n,m)=C(n-1,m-1)+C(n-1,m)下面給出代碼:#include<iostream> us

原创 2019ICPC南昌網絡賽 I題 Max answer 暴力+路徑壓縮

題意:給出5e5個數,每個數大小範圍-1e5到1e5, 求一個最大的區間權值 = (區間中每個數的和)乘(區間中最小的數) 思路:暴力+路徑壓縮,枚舉每個點爲區間中最小的數,每個數有一個l和r代表區間左端點和右端點 代碼: #inclu

原创 O( nlogn )預處理, O( 1 ) 求組合數模板

typedef long long LL; const int maxn = 5e5; const long long mod = 1e9 + 7; LL A[maxn]; LL B[maxn]; void Init() { A

原创 c++ substr的用法和例題

string substr (size_t pos = 0, size_t len = npos) const; 這個函數的作用是取字符串string中位置爲pos開始的len個字符,返回一個字符串。 如果pos開始後len個字符長度超