原创 字符串的最小/大表示 板子

字符串最小表示:找到一個位置,使得從這個位置開始的整個串字典序最小。 O(N) char s[11000]; int Get_min(){ int n = strlen(s); int i = 0,j = 1,k =

原创 2019牛客暑期多校訓練營(第七場)A String(暴力+字符串最小表示)

題意:水題,O(n^3)的暴力,感覺怎麼都會炸 學到了字符串最小表示:找到一個位置,使得從這個位置開始的整個串字典序最小。 用板子32Ms ,自己和同學瞎搞的105Ms; #include <bits/stdc++.h> #define

原创 2019杭電暑期多校第四場H - K-th Closest Distance (二分+主席樹)

以下均學習於這個老哥的博客https://blog.csdn.net/qq_41286356/article/details/97958401#commentsedit 題意:給定你N個數字, Q次詢問,l,r,p,k,問你在【L,R】區

原创 2019杭電暑期多校第五場B - three arrays (01字典樹/字典樹跑字典樹)

以下均學習與此博客https://blog.csdn.net/mmk27_word/article/details/98611040 ----------------------------------------------- 題意:該

原创 2019牛客暑期多校訓練營(第五場)H.subsequence 2 (拓撲排序+思維)

參考了這篇博客寫法https://blog.csdn.net/chenshibo17/article/details/98098225 題意:給你幾組樣例,給你兩個字符A,B,一個長度LEN,一個長度爲LEN的字符串STR,STR是字符串

原创 2019牛客暑期多校訓練營(第六場)J.Upgrading Technology(暴力+思維)

https://ac.nowcoder.com/acm/contest/886/J 題意:n個技能,m個技能,升級每個技能每一級可能支出,也可能獲得收益,當n個技能同時都升到某一等級,還會有福利,可能額外支出,也可能獲得額外收益,現在讓你

原创 2019牛客暑期多校第五場 F.maximum clique 1 (二分圖最大獨立集)

題意:給你N個點,讓你求一個最大集合,使得集合內任意兩個數字在二進制下都有兩個或兩個以上的位置不同。 題解: 首先明白 二分圖的最大獨立集問題和最大團問題是互補的關係。 “讓你求一個最大集合,使得集合內任意兩個數字在二進制下都有兩個或兩個

原创 2019牛客暑期多校第五場 B.generator 1 (矩陣快速冪+大指數冪運算技巧)

https://ac.nowcoder.com/acm/contest/885/B 題意: 就是求第N項,N等於(10^(10^6))還得取模 題解: 推公式 處理公式:因爲N指數特別大,所以需要這樣處理,看下圖,在字符串模擬十進制的時

原创 板子

目錄 矩陣快速冪 最短路 最大流/最小割 強連通分量 矩陣快速冪 #include <bits/stdc++.h> #define ll long long using namespace std; const int maxn =

原创 2019杭電多校第一場B.Operate/HDU 6579(線性基+思維)

B - Operation 題意:兩個操作,0.求L,R區間內最大異或和   1.序列末尾加一個數   強制在線 題解: 首先引用下大佬博客alpc_qleonardo的一段話     所謂線性基,就是線性代數裏面的概念。一組線性無關

原创 2019杭電暑期多校第一場E-Path/HDU 6582(最短路+最小割)

題意:給你m個邊構成有向無環圖(DAG),從1~n找出一條最短路,讓你最少割幾條邊讓1~n的最短路邊長(此最短路非彼最短路了) 題解:可以發現該最短路是最短路圖,然後在這個圖上跑最小割就行了,所以就是最短路+最小割板子了 滿足dis[v

原创 2019杭電暑期多校第三場G. Find the answer /HDU6609(權值線段樹)

題意:  給你一組數據,對於每個數a[i]求出最少刪除 i 前面(1~i-1)多少個數使得當前位前綴和<=m 前置技能: 線段樹,每個節點用來維護一段區間的最大值或總和等。 權值線段樹:顧名思義就是每個節點用來表示一個區間的數出現的次數。

原创 2019牛客暑期多校第三場 F.Planting Trees (單調隊列)

https://ac.nowcoder.com/acm/contest/883/F差點沒搞死我 ------------------------------------------------------------ 題意:就是一個N*N

原创 Acwing.最大子序和(單調隊列)

https://www.acwing.com/problem/content/137/ 題意:輸入一個長度爲n的整數序列,從中找出一段長度不超過m的連續子序列,使得子序列中所有數的和最大輸出一個整數,代表該序列的最大子序和。 前置技能:單

原创 2019杭電多校第三場 F.Fansblog(威爾遜定理+黑科技)

題意:給你一個素數P,1e9<=P<=1e14,問你小於P的第一個素數Q的階乘(%P) 題解:  首先第一個結論:兩相鄰素數間的間距不會太大(振民不會)比如樣例中的1e9+7的下一相鄰素數才距離70位 第二個定理:威爾遜定理:當且僅當p爲