数论相关
文章平均质量分 77
BroDrinkWater
来来来交个朋友
展开
-
谁是世界上最丑的人
本来这是一个深奥的问题,但是现在这个问题的答案很显然--我我每天套路刷题到凌晨三点我每天套路搞文化做了八十页作业#原创 2017-09-03 21:53:08 · 2033 阅读 · 12 评论 -
快速幂
#include#include#include#includeusing namespace std;long long qsm(long long x,long long y,long long z){ if(y==0)return 1%z; long long temp=qsm(x,y>>1,z); temp=temp*temp%z; if(y&1)temp=temp*x%原创 2016-09-10 18:42:36 · 356 阅读 · 1 评论 -
最小公倍数
#include#include#include#includeusing namespace std;int gcd(int x,int y){ return y==0?x:gcd(y,x%y);}int main(){ int i,j,k,m,n; scanf("%d%d",&m,&n); printf("%d",m*n/gcd(m,n)); return 0;}原创 2016-09-10 17:22:12 · 417 阅读 · 0 评论 -
exgcd
#include#include#include#includeusing namespace std;int exgcd(int a,int b,int &x,int &y){ int r,tmp; if(!b){x=1;y=0;return a;} else{ r=exgcd(b,a%b,x,y); tmp=x; x=y; y=tmp-a/b*y; //pr原创 2016-09-10 17:21:10 · 576 阅读 · 0 评论 -
进制转换
#include#include#include#includeusing namespace std;string transform(int x,int y,string s){//进制转换 string res="";//存储 int sum=0; for(int i=0;i<s.length();i++){ if(s[i]=='-')continue; i原创 2016-09-10 17:18:36 · 278 阅读 · 0 评论 -
二分查找
#include #include int a[1000000+10]; int main(){ int i,j,k,m,n,max=0; scanf("%d%d",&n,&k); for(i=1;i<=n;i++) scanf("%d",&a[i]); int l=1,r=n; while(l<=r){原创 2016-09-06 20:44:32 · 243 阅读 · 0 评论 -
进制转换
显然,学完位运算之后,进制转换其实很容易的。。。2的二进制为10,逢二进一,就是2^2-1,其实很容易的。。。#include#includeusing namespace std;const int maxn = 510;int a[maxn],s[maxn];int main(){ int i,j,k,m,n; scanf("%d%d",&n,&k); m=n; int to原创 2016-09-05 20:34:54 · 346 阅读 · 0 评论 -
usaco第三题黑色星期五
#include#include#include#includeusing namespace std;#define ms(k) memset(k,0,sizeof(k))int d[8];int month[12]={31,28,31,30,31,30,31,31,30,31,30,31};//简单的枚举就ok了,数据很水 int main(){ int i,j,k,m,n,原创 2016-08-27 14:44:29 · 710 阅读 · 0 评论 -
NOIP2006 2^k进制数
题目描述 设r是个2^k 进制数,并满足以下条件: (1)r至少是个2位的2^k 进制数。 (2)作为2^k 进制数,除最后一位外,r的每一位严格小于它右边相邻的那一位。 (3)将r转换为2进制数q后,则q的总位数不超过w。 在这里,正整数k(1≤k≤9)和w(k < W≤30000)是事先给定的。 问:满足上述条件的不同的r共有多少个? 我们再从另一角度作原创 2017-10-21 20:25:52 · 604 阅读 · 0 评论 -
中国剩余
#include#include#define wea stdusing namespace wea;const int N=105;int n;struct CN{ int m[N],w[N]; int tot; void init(){tot=0;} void add(int x,int y) { m[++tot]=x; w[tot]=y; } int ex原创 2016-09-10 20:39:46 · 401 阅读 · 0 评论 -
矩阵快速幂,矩阵加法,矩阵乘法
转载自大神脑钊文:http://blog.csdn.net/wzw1376124061/article/details/52492665#include #include #include #include #include #include using namespace std; int n,k; int mod; //n*n阶的矩阵;k是sum=A^1+A^2转载 2016-09-10 21:10:30 · 492 阅读 · 0 评论 -
FFT代码实现
对FFT理论不明白的童鞋可以来这里( FFT学习笔记<理论篇>): http://blog.csdn.net/Monkey_king2017cn/article/details/77542160在了解完FFT的理论与算法流程之后,最重要的当然就是写代码啦,下面的两份代码将展示FFT在多项式乘法与高精度乘法中的运用。在那之前,还有一个重要的东西: 因为下面写的是迭代的FFT代码,而不是采用递归,所转载 2017-08-26 21:43:03 · 871 阅读 · 1 评论 -
FFT入门
GNN’s blog,原帖前言:下了好大决心,花了一个晚上的时间,终于看懂了FFT的理论与流程,然后又花了一个晚上实现代码,做了几道模板题。FFT理论很深,却又很实用,一个很常用的用法就是加速多项式乘法,使得原来O(n^2)的复杂度减小到O(nlogn)。下面我来大概讲述一下FFT的基本理论与算法流程,帮助初学者了解FFT,同时也是自己的复习。<1> 介绍:FFT,全称快速傅里叶变换(fast转载 2017-08-26 15:07:46 · 752 阅读 · 0 评论 -
欧拉函数及其拓展(积性函数)
前言作者在OI生活早期的时候,经常遇到一些数学题不会,点开题解发现许多跟数论上的函数有关,题解的语言又晦涩难懂,从此对数学心有余悸,相信许多OIer也同样是如此。这几篇博客,作者将对OI数论中常出现的几个函数进行解读,希望读者能解开对数学的心结。积性函数概念积性函数是对数论中一系列有特殊性质函数的统称,性质如下:若gcd(a,b)=1, f(ab)=f(a)f(b),那么f则是积性函数。 特别地,假转载 2017-08-24 14:38:20 · 580 阅读 · 0 评论 -
lightoj1006
矩阵快速幂裸题,不过听说好像循环就能过,=_=……蒙蔽的我。。。。1.问题描述Given a code (not optimized), and necessary inputs, you have to find the output of the code for the inputs. The code is as follows:int a, b, c, d, e, f;原创 2016-12-03 10:03:43 · 392 阅读 · 0 评论 -
学会了怎么推矩阵啊哈哈哈哈哈
#include#include#include#includeusing namespace std;const long long mod=2147493647;const int maxn=100000+10;struct T{ long long maxtrix[7][7]; int lenx,leny; void base(){ lenx=leny=7; ma原创 2016-11-09 22:01:33 · 377 阅读 · 0 评论 -
高精度阶乘
。。。其实就是高精度乘法的翻版,洛谷水题,不解释了。。。 #include#include#include#includeusing namespace std;struct T{ int x[20000],len; T(int z=0){ memset(x,0,sizeof(x)); if(z==1){x[0]=1;len=1;} } };T operator *(T原创 2016-10-06 19:56:25 · 497 阅读 · 0 评论 -
斐波那契矩阵乘法加质因数分解
#include#include#include#includeusing namespace std;const long long maxn=1000000+10;const long long mod=2147483648;long long prime[maxn],primes[maxn],cnt;struct T{ long long s[4][4]; T(){原创 2016-09-28 21:25:49 · 409 阅读 · 0 评论 -
高精度和错位排列
#include#include#include#includeusing namespace std;const int maxn=210,maxnlen=1000+10;struct number{ int x[maxnlen],len; number(){ memset(x,0,sizeof(x)); len=0原创 2016-09-15 19:41:42 · 447 阅读 · 0 评论 -
Catalan数
http://blog.csdn.net/hackbuteer1/article/details/7450250原创 2017-10-21 23:00:42 · 354 阅读 · 0 评论