- 博客(7)
- 收藏
- 关注
原创 矩阵快速幂(A^k模板)
题目传送门给定n*n的矩阵A,求A^k输入格式第一行,n,k第2至n+1行,每行n个数,第i+1行第j个数表示矩阵第i行第j列的元素输出格式输出A^k共n行,每行n个数,第i行第j个数表示矩阵第i行第j列的元素,每个元素模10^9+7输入2 11 11 1输出1 11 1矩阵相乘原理:递推式, 例:矩阵可以这样记:f(n-1)的下一项为f(n);f(n-2...
2019-08-14 19:47:03 2367
原创 堆(模板)
题目传送门如题,初始小根堆为空,我们需要支持以下3种操作:操作1: 1 x 表示将x插入到堆中操作2: 2 输出该小根堆内的最小数操作3: 3 删除该小根堆内的最小数输入格式第一行包含一个整数N,表示操作的个数接下来N行,每行包含1个或2个正整数,表示三种操作,格式如下:操作1: 1 x操作2: 2操作3: 3输出格式包含若干行正整数,每行依次对应一个操作2的结果。输入输...
2019-08-12 19:37:21 175
原创 欧拉筛(线性筛)和埃氏筛
埃氏筛inline ll getprime(ll n){ ll k=0; memset(prime,0,sizeof(prime)); memset(vis,0,sizeof(vis)); ll m=sqrt(n+0.5); for(int i=2;i<=m;i++) if(!vis[i]) { prime[k++]=i; ...
2019-08-02 15:59:11 226
原创 并查集(合并、查询)模板
合并和查询操作:第一行包含两个整数N、M,表示共有N个元素和M个操作。接下来M行,每行包含三个整数Zi、Xi、Yi当Zi=1时,将Xi与Yi所在的集合合并当Zi=2时,输出Xi与Yi是否在同一集合内,是的话输出Y;否则话输出N输出格式:如上,对于每一个Zi=2的操作,都有一行输出,每行包含一个大写字母,为Y或者N输入样例#1:4 72 1 21 1 22 1 21 3 4...
2019-05-30 21:21:52 330
原创 分解质因子(模板)
#include<bits/stdc++.h>using namespace std;const int N=100;typedef long long ll;ll a[N],cnt;void solve(ll n){ ll tn=n; cnt=0; for(ll i=2;i*i<=n;i++){ if(n%i==0){ ...
2019-05-26 17:40:39 186
原创 快排算法(模板)
#include #include <bits/stdc++.h>using namespace std;int partition(int a[], int low, int high){int k = a[low]; while(low < high){ while(low < high && a[high] > k) --h...
2019-05-26 11:31:51 345
原创 树状数组模板(区间和与单点更新和区间最值)
#include <iostream>#include <algorithm>#include <cstdio>#define ll long long intusing namespace std;ll c[1000000]; ll lowbit(ll x){ return x&(-x);}void add(ll x,ll...
2019-04-24 17:24:35 392
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人