摘要:
treap [详解](https://www.cnblogs.com/fusiwei/p/12884254.html) treap 这里的treap指有旋treap 如何种一棵(香蕉树)有旋treap Treap=Tree+heap。 所以Treap树堆其实就是树+堆。树是二叉查找树BST,堆是二叉 阅读全文
摘要:
知道kmp的请跳过这一段 dalao们表示知道思想即可 找到最清晰的解析 kmp 我看了约114514个解析才搞懂 如何求next 首先,next[i]本应表示0~i的字符串的最长相同前缀后缀的长度。 不过为了方便匹配,实际可以存最长相同前缀后缀时前缀最后一个的地址 听起来好绕 那这么说吧: 例如串 阅读全文
摘要:
你说的对,但是set是一种高效的数据结构,定义于bits/stdc++.h,使用std进行调用…… #include <bits/stdc++.h> using namespace std; const int maxn = 1000000; const int INF = 1e9; int n, 阅读全文
摘要:
delicious #include<bits/stdc++.h> using namespace std; const int inf=0x3f3f3f3f; multiset<int>delta,full; int st[500100],ed[500100]; int srt=inf; int 阅读全文
摘要:
( •̀ ω •́ )y 好fan 题解 #include <bits/stdc++.h> using namespace std; inline int read(){ char c;int f=1,res=0; while(c=getchar(),!isdigit(c))if(c=='-')f* 阅读全文
摘要:
高效高效 分块。 here #include<bits/stdc++.h> using namespace std; int n,a[500010]; double dp[500010],sqr[500010]; double w(int j,int i) { return double(a[j]) 阅读全文
摘要:
这个故事告诉我们,要全心全意赞美太阳。 题解 #include<bits/stdc++.h> using namespace std; const unsigned long long mod=998244353; struct data { int dp[3][3]; inline int* op 阅读全文
摘要:
树状数组是个好东西 # include <bits/stdc++.h> # define Fill(a, b) memset(a, b, sizeof(a)) using namespace std; const int _(3e5 + 10), INF(2e9), PF(1e5); inline 阅读全文
摘要:
概率期望谔谔谔。 #include<bits/stdc++.h> using namespace std; double f[1010][1010]; double g[1010][1010]; double C[1010][1010]; int main() { int n = ri, d = r 阅读全文
摘要:
偷懒的新方法 但vector足以 #include<bits/stdc++.h> using namespace std; vector<int>v; inline int read() { char ch=getchar(); int x=0,f=1; for(; !isdigit(ch); ch 阅读全文