原创 可並堆模板

可並堆模板 luogu P3377 示範 斜堆 #include <cstdio> #include <cstring> #define R register #define Null b struct Data { i

原创 歐拉篩法與積性函數

線性篩 歐拉篩本質上是在對每一個數找到它最小的質因數,然後把它篩除,複雜度 O(n) 。 本文中所有的 p 都表示一個質數。 PROOF: From the code below we have that pj∣a .

原创 後綴排序

以 luogu P3809 爲例 #include <cstdio> #include <cstring> #define R register const int MaxN = 1000010; int SA[MaxN], Ra

原创 「Codeforces 632F」Magic Matrix

稱一個矩陣爲魔法矩陣,當且僅當滿足一下三點: 1. ∀1≤i,j≤n,ai,j=aj,i∀1≤i,j≤n,ai,j=aj,i 2. ∀1≤i≤n,ai,i=0∀1≤i≤n,ai,i=0 3. ∀1≤i,j,k≤

原创 「THUSC 2016」成績單

BZOJ-4897 LOJ-2292 #include <cstdio> #include <cstring> #define Min(_A, _B) (_A < _B ? _A : _B) #define Max(_A, _B)

原创 「Codeforces 940F」Machine Learning

初始時有一個長度爲 n 數字串。有以下 q 個操作: 1.詢問。定義 ci 爲區間 [l,r] 中 i 出現的次數,求出 Mex{c0,c1,...} ,其中 Mex 表示集合中未出現的最小的正整數。 2

原创 「Codeforces 809D」Hitchhiking in the Baltic States

CF 809D 題意簡述: 給你長度爲 nn 的序列,序列中的每個元素 ii 有一個區間限制 [li,ri][li,ri] ,你從中選出一個子序列,並給它們標號 xixi ,要求滿足 ∀i<j∀i<j ,xi<xjxi

原创 Ubuntu 18.04 問題集

安裝 Ubuntu 18.04 用 Torrent 下載 Ubuntu 的鏡像:https://ubuntu.com/download/alternative-downloads 創建啓動U盤:https://jingyan.ba

原创 CodePlus 2017 11 月賽 Div. 2

T1 晨跑 jogging 超級大水題,直接用 gcd 求 a ,b ,c 的最小公倍數即可。 然而在賽場上,評測機卡了, 我第一題一直沒交上去。 #include <cstdio> #define R register lo

原创 FWT模板(loading)

ci=∑j⊗k=iajbk=∑0≤k<2n∑0≤j<2n[j⊗k=i]ajbkci=∑j⊗k=iajbk=∑0≤k<2n∑0≤j<2n[j⊗k=i]ajbk (⊗∈{⊕,∨,∧}) (⊗∈{⊕,∨,∧}) FWTFWT 可以用於解

原创 平衡樹模板

Splay 僅支持構造、插入、查找、翻轉。 #include <cstdio> #include <cstring> #define R register #define Null b int n, m; struct Data

原创 數論三合一

Abstract 本文將探討與下列三個同餘方程有關的問題,並進行一些數論相關知識的拓展。 ax≡bmodpax≡bmodp ax≡bmodpax≡bmodp xa≡bmodpxa≡bmodp 分別求出 xx 的最小值。 注

原创 Trie圖

Trie圖是AC自動機的優化。 以 luogu P3796 爲例 #include <cstdio> #include <algorithm> #include <cstring> #define Max(_A, _B) (_A

原创 「POJ 3693」Maximum repetition substring

題意:求一個串的最大重複次數的重複子串,要求輸出字典序最小。 後綴數組,可以看羅穗騫的論文《後綴數組——處理字符串的有力工具》。 #include <cstdio> #include <cstring> #define Ma

原创 「51Nod 1868」彩色樹

算法馬拉松31C 51Nod 1868 #include <cstdio> #include <cstring> #define R register #define Max(_A, _B) (_A > _B ? _A : _B