随笔分类 -  ACM--数论

摘要:1 //codeforces 559C|51nod1486 Gerald and Giant Chess(组合数学+逆元) 2 3 #include 4 using namespace std; 5 #define LL long long 6 typedef pair pii; 7 const int inf = 0x3f3f3f3f; 8 const int N =2e5... 阅读全文
posted @ 2016-10-24 12:02 yyblues 阅读(263) 评论(0) 推荐(0) 编辑
摘要:修正一下,加一组样列: n=5,m=1,k=1000 这时候用res的话 必须判m==1 其实可以一起去掉,直接lucas也a 数据太重要了 阅读全文
posted @ 2016-09-18 23:51 yyblues 阅读(1312) 评论(0) 推荐(0) 编辑
摘要:1 //连分数(分数类模板) uva6875 2 // 题意:告诉你连分数的定义。求连分数,并逆向表示出来 3 // 思路:直接上分数类模板。要注意ai可以小于0 4 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include 12 #inc... 阅读全文
posted @ 2016-09-15 15:42 yyblues 阅读(491) 评论(0) 推荐(0) 编辑
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=5778 思路:只有平方质因子的数,也就是这题所说的 y的质因数分解式中每个质因数均恰好出现2次 满足条件的数很幂集 因此枚举sqrt(x),前后判断一下sqrt(x)的质因子就可以 可以不判断是不是素数 注意x<4 阅读全文
posted @ 2016-07-31 13:35 yyblues 阅读(343) 评论(0) 推荐(0) 编辑
摘要:http://acm.hdu.edu.cn/search.php?field=problem&key=2016+Multi-University+Training+Contest+1&source=1&searchmode=source 1001 Abandoned country 题意:n个数 m 阅读全文
posted @ 2016-07-20 16:38 yyblues 阅读(550) 评论(0) 推荐(0) 编辑
摘要:B - Mysterious Light 题意:从一个正三角形边上一点出发,遇到边和已走过的边则反弹,问最终路径长度 思路:GCD 数据爆long long 1 #pragma comment(linker, "/STACK:102c000000,102c000000") 2 #include <i 阅读全文
posted @ 2016-07-17 09:17 yyblues 阅读(301) 评论(0) 推荐(0) 编辑
摘要:A 脑筋急转弯 1 // #pragma comment(linker, "/STACK:1024000000,1024000000") 2 #include <iostream> 3 #include <cstdio> 4 #include <cstring> 5 #include <sstrea 阅读全文
posted @ 2016-07-09 15:39 yyblues 阅读(257) 评论(0) 推荐(0) 编辑
摘要:卡特兰数 卡特兰数2 卡特兰数:主要是求排列组合问题 1:括号化矩阵连乘,问多少种方案 2:走方格,不能过对角线,问多少种方案 3:凸边型,划分成三角形 4:1到n的序列进栈,有多少种出栈方案 NOIP2003 栈 1 //#pragma comment(linker, "/STACK:167772 阅读全文
posted @ 2016-05-25 21:56 yyblues 阅读(424) 评论(0) 推荐(0) 编辑
摘要:网上证明很多,虽然没看懂。。。。 主要解决大组合数取模的情况 费马小定理求大组合数: a^(p-1)=1%p; 两边同除a a^(p-2)=1/a%p; C(n,m)= n!/(m!*(n-m)!) 所以C(n,m)=f(n)*qpow(f(m)*f(n-m),MOD-2))%MOD 预处理组合数f 阅读全文
posted @ 2016-05-24 23:42 yyblues 阅读(907) 评论(0) 推荐(0) 编辑
摘要:1001 思路:首先把m个x分解成x*(m个1) 显然这样直接mod不行 又=((10^m-1)mod(k*9))/9 然后快速幂,同余运算 另一种做法是找循环节 1006 Gym Class 思路:先想一下,肯定是分数高的同学在前面先出来,怎样选择分数高的呢? 如果b不能出现先a的前面,我们可以建 阅读全文
posted @ 2016-05-22 23:13 yyblues 阅读(270) 评论(0) 推荐(0) 编辑
摘要:逆元详解 定义:满足a*x≡1 (mod p)的x值就是a关于p的乘法逆元。 实际就是a*x=k*p+1. x就是a模p的逆元 逆元一般情况下在求 (a/b)%p 且a很大 无法求a/b,推论:(a*k)%p=(a/b)%p k为b模p的逆元 还有很多用法 POJ 1845 详解见大神博客 阅读全文
posted @ 2016-05-15 22:21 yyblues 阅读(425) 评论(0) 推荐(0) 编辑
摘要:思路:a/n*b/n=lcm/gcd 所以这道题就是分解ans.dfs枚举每种素数情况。套Miller_Rabin和pollard_rho模板 1 //#pragma comment(linker, "/STACK:167772160")//手动扩栈~~~~hdu 用c++交 2 #include< 阅读全文
posted @ 2016-05-06 15:40 yyblues 阅读(502) 评论(0) 推荐(0) 编辑
摘要:Miller_Rabin就是以概论大小来判断素数 可以判断2^63范围的数 pollard_rho推荐两个很好的博客来理解:整数分解费马方法以及Pollard rho和[ZZ]Pollard Rho算法思想 1 //#pragma comment(linker, "/STACK:167772160" 阅读全文
posted @ 2016-05-06 14:16 yyblues 阅读(284) 评论(0) 推荐(0) 编辑
摘要:思路:直接用求(b,1)范围内互质的数,(a-1,1)范围内互质的数。再求反 就是敲一下容斥模板 1 #include<cstdio> 2 #include<cstring> 3 #include<iostream> 4 #include<queue> 5 #include<stack> 6 #in 阅读全文
posted @ 2016-04-17 17:36 yyblues 阅读(240) 评论(0) 推荐(0) 编辑
摘要:水题:直接判断素数+bfs 1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 #include <sstream> 5 #include <algorithm> 6 #include <list> 7 #include 阅读全文
posted @ 2016-04-08 22:47 yyblues 阅读(163) 评论(0) 推荐(0) 编辑
摘要:题意:给出一个整数n,(1 <= n <= 200)。求出任意一个它的倍数m,要求m必须只由十进制的'0'或'1'组成。 思路:直接深搜。网上还有DFS+同余模定理 1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 #i 阅读全文
posted @ 2016-04-07 23:29 yyblues 阅读(174) 评论(0) 推荐(0) 编辑
摘要:思路:x绝对小于根号n,再由s(x,m)可以缩小范围。1e9十六进制大约算出每位和相加100左右。这种题直接判断范围再暴力。 1 #include<stdio.h> 2 #include<string.h> 3 #include<algorithm> 4 #include<cmath> 5 #inc 阅读全文
posted @ 2016-03-30 20:37 yyblues 阅读(281) 评论(0) 推荐(0) 编辑
摘要:题意:在[a,b] [c,d] 之间,和模p等于m的对数 详见代码 阅读全文
posted @ 2016-03-20 16:47 yyblues 阅读(195) 评论(0) 推荐(0) 编辑
摘要:典型的两道矩阵快速幂求斐波那契数列 POJ 那是 默认a=0,b=1 UVA 一般情况是 斐波那契f(n)=(n-1)次幂情况下的(ans.m[0][0] * b + ans.m[0][1] * a); 1 //POJ 2 #include <cstdio> 3 #include <iostream 阅读全文
posted @ 2016-03-03 20:45 yyblues 阅读(219) 评论(0) 推荐(0) 编辑
摘要:题意:给出方程 f(kx%p)=kf(x)%p ,f:A->B,不同的映射函数f有几种,其中f,A,B值域为{0,1,2..p-1},p为素数(除了2),k为小于p的一个常数。思路:明显是求循环节的。首先分析特殊情况:k==0:f(x)=0.其余f(x)为值域中任何一个值,所以有p^(p-1)种;k... 阅读全文
posted @ 2015-12-03 15:32 yyblues 阅读(389) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示