小结
_bread
我很菜的
展开
-
莫队算法(部分模板)
#include <bits/stdc++.h>using namespace std;#define LL long long intconst int maxn = 1e5;int n;int bk[maxn];struct mo{ LL l, r, id, res;}q[maxn];bool cmp(mo a, mo b){ return bk[a.l]...原创 2018-08-03 18:12:47 · 251 阅读 · 0 评论 -
rope
#include <ext/rope> //头文件using namespace __gnu_cxx; //调用命名空间int a[1000];rope<int> x;rope<int> x(a,a + n);rope<int> a(x);x->at(10);x[10];x->push_back(x) // 在末...原创 2018-07-27 18:19:53 · 591 阅读 · 0 评论 -
斯特林公式
斯特林公式是一条用来取n!的近似值的数学公式,也可用来求取n!的位数。//在x进制下的位数LL res = (LL)((log(2 * pi*n) / 2 + n*log(n) - n) / log(x));原创 2018-07-27 18:56:05 · 689 阅读 · 0 评论 -
O(n)打印逆元表
//O(n)打印逆元表void init(){ inv[1] = inv[0] = 1; for (LL i = 2; i < maxn; i++) inv[i] = (mod - mod / i)*inv[mod%i] % mod;}原创 2018-08-05 15:20:11 · 503 阅读 · 0 评论 -
KMP算法(模板)
//S是要被匹配的串,s是用来匹配的串//求出S串中有多少s//getnext()int cnt=0;for(int i=0;s[i];i++){ int k=next[i]; while(k&gt;=0&amp;&amp;s[i]!=s[k]) k=next[k]; next[i+1]=k+1;}for(int i=0,j=0;S[i]){ if(...原创 2018-07-28 10:48:11 · 179 阅读 · 0 评论 -
ACM交互题小结
今天才了解到还有交互题这种问题,很神奇,就不是平常写的那种传统题目。这种题目一般都是让你去输出东西询问,系统输入“YES”或“NO”作为回答,然后让你根据这些“YES”和“NO”得到最终答案。前置知识: 在一些题目里面(我做的题目也没几道,可能片面了)会经常用到【fflush(stdout)】这个操作。这个操作的用处百度了一下,回答很多,大概的作用就是强制刷新输出缓冲区,将里面的内容输出出来...原创 2018-08-17 23:02:42 · 4618 阅读 · 3 评论 -
线性素数筛
const int maxn = 1e7 + 10000;//+10000是为了多筛一个素数bool e[maxn];int p[maxn];int tot;void prime()//O(n)筛素数,e[x]==0表示x为素数{ e[0] = e[1] = 1;tot = 0; for (int i = 2;i<maxn;i++) { if...原创 2018-08-22 23:27:18 · 320 阅读 · 0 评论 -
欧拉函数打表
const int maxn = 1e7 + 10000;LL phi[maxn];LL p[maxn];LL tot;void Euler(){ phi[1] = 1; for (LL i = 2; i &lt; maxn; i++) { if (!phi[i]) { phi[i] = i - 1; ...原创 2018-08-23 00:12:58 · 285 阅读 · 0 评论 -
Lucas
#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>using namespace std;#define LL long long intLL Pow(LL a, LL b, LL p){ LL res = 1; while...原创 2018-08-21 13:37:30 · 271 阅读 · 0 评论