
模板
indiewar
擅长各种乱搞
展开
-
牛客国庆集训派对Day5B电音之王(Montgomery modular multiplication)
Montgomery modular multiplication 代码出处min_25 杜教暑期时候讲过(我不懂但是我会贴代码呀.jpg),正好牛客网放了camp的题目,那就mark一下 优秀的卡常技巧 #include <bits/stdc++.h> using namespace std; #define rep(i,a,n) for (int i=a;i<n;i++) ...原创 2018-10-05 19:42:24 · 281 阅读 · 0 评论 -
ST表模板
普通存最大值,最小值 int a[maxn]; ll Max[MAXN][21]; ll Query(int l,int r) { int k=log2(r-l+1); return max(Max[l][k],Max[r-(1<<k)+1][k]); } int main() { for(int i=1;i<=N;i++) cin >> a...原创 2019-05-04 00:11:55 · 107 阅读 · 0 评论 -
BM模板
#include <bits/stdc++.h> using namespace std; #define rep(i,a,n) for (int i=a;i<n;i++) #define per(i,a,n) for (int i=n-1;i>=a;i--) #define pb push_back #define mp make_pair #define all(x) ...原创 2019-05-04 00:14:28 · 174 阅读 · 0 评论 -
数位DP模板
int a[20]; ll dp[20][state]; ll dfs(int pos,/*state变量*/,bool lead/*前导零*/,bool limit) { if(pos==-1) return 1; //第二个就是记忆化(在此前可能不同题目还能有一些剪枝) if(!limit && !lead && dp[pos]...原创 2019-05-04 00:17:29 · 108 阅读 · 0 评论 -
矩阵快速幂模板
const int maxn = 2; struct Matrix{ ll a[maxn][maxn]; void init(){ memset(a, 0, sizeof(a)); for(int i=0;i<maxn;++i){ a[i][i] = 1; } } }; Matrix ...原创 2019-05-04 00:18:40 · 123 阅读 · 0 评论 -
manacher模板
struct MANACHER{ #define STRSIZE 2010000 char str[STRSIZE*2+5]; int radius[STRSIZE*2+5]; int str_len; MANACHER(){} MANACHER(char *tar){solver(tar);} int solver(char *tar); ...原创 2019-05-04 00:20:16 · 107 阅读 · 0 评论 -
树状数组模板
//树状数组 struct Bit { vector<int> a; int sz; void init(int n) { sz=n; for(int i=1;i<=n+5;i++) a.push_back(0); } int lowbit(int x) { ...原创 2019-05-04 00:23:25 · 112 阅读 · 0 评论 -
俄罗斯农民乘法
//防止爆ll ll els(ll a ,ll b, ll p){ ll ans = 0; while(a){ if(a & 1) ans = (ans + b) % p; a /= 2,b = b * 2 % p; } return ans; }原创 2019-05-04 00:32:35 · 372 阅读 · 0 评论 -
拉格朗日插值 板子
By 杜教 namespace polysum { #define rep(i,a,n) for (int i=a;i<n;i++) #define per(i,a,n) for (int i=n-1;i>=a;i--) const int D=2010; ll a[D],f[D],g[D],p[D],p1[D],p2[D],b[D],h[D][2],C...原创 2019-06-02 15:58:45 · 231 阅读 · 0 评论