模板
henucm
那就再努力一点吧
展开
-
Miller Robin大素数判定
首先是2^63以内可以用的算法,用Miller_Rabin素数测试#include<cstdio>#include<iostream>#include<cstdlib>#include<cstring>#include<ctime>#include<cmath>using namespace std; ...原创 2019-10-17 15:16:20 · 521 阅读 · 1 评论 -
斐波那契数列 寻求mod n 循环节 模板
原博主注意前两项是0 1 还是 1 1#include <iostream>#include <string.h>#include <algorithm>#include <stdio.h>#include <math.h>using namespace std;typedef unsigned long long...原创 2019-10-16 19:19:56 · 259 阅读 · 0 评论 -
__int128 读入 读出 模板
#include<bits/stdc++.h>using namespace std;typedef __int128 ll;void scan(__int128 &x)//输入{ x = 0; int f = 1; char ch; if((ch = getchar()) == '-') f = -f; else x = x...原创 2019-10-13 14:46:43 · 547 阅读 · 0 评论 -
deque 的用法
和queue差不多 这里就放一张图就ok了 忘了的时候 方便找原创 2019-04-28 14:14:42 · 523 阅读 · 0 评论 -
数论 素数
嗯... 也没啥好说的 存个板子 找到时候方便点判断一个数 是否 是素数 时间复杂度是O(√n)bool prime(int x){//判断x是不是质数,是返回true,不是返回false if(x <= 1) return false; for(int i = 2; i <= sqrt(x + 0.5); i ++){//0.5是防止根号的精度误差 ...原创 2019-04-30 00:36:05 · 436 阅读 · 1 评论 -
数论 组合数
组合数 大家应该不陌生一般我们用杨辉三角性质杨辉三角上的每一个数字都等于它的左上方和右上方的和(除了边界)第n行,第m个就是,就是C(n, m) (从0开始)递归式模板 时间复杂度是O(n^2)#include<cstdio>const int N = 2000 + 5;const int MOD = (int)1e9 + 7;i...原创 2019-04-30 00:42:00 · 739 阅读 · 1 评论 -
__int 128 大数读入读出模板
void scan(__int128 &x)//输入{ x = 0; int f = 1; char ch; if((ch = getchar()) == '-') f = -f; else x = x*10 + ch-'0'; while((ch = getchar()) >= '0' && ch <= '9...原创 2019-08-19 13:57:00 · 442 阅读 · 0 评论 -
数论 二次剩余模板
来自憨批的博客 ( 2k图片 加载有点慢 需要耐心等待 ) 附带证明对于如果存在x使得≡ n mod P 则称n是模P意义下的二次剩余struct T{ long long p, d;};long long Ksm(long long a, long long b, long long p) { long long res = 1; while(b)...原创 2019-08-22 10:47:17 · 439 阅读 · 0 评论 -
给你两个区间 从中各自选取两个数 乘积为某个数的倍数 个数问题
2016利用同余定理,首先计算出 k=n/2016 r=n%2016;任何一个数都能表示成n=a*2016+i,m=b*2016+j; n*m=a*b*2016^2+a*2016*j+b*2016*i+i*j;如果i*j是2016的倍数的话,那么n*m一定是2016的倍数, 这样在2016*2016的规模中遍历出符合i*j%2016=0的数,按照n中有多少个这样的i,m中有多少这样...原创 2019-10-08 15:10:50 · 1408 阅读 · 0 评论