![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数论
文章平均质量分 63
C20201018
这个作者很懒,什么都没留下…
展开
-
C++ 【NOIP2011】计算系数——利用另类DP巧解
题目描述给定一个多项式(ax + by)^k,请求出多项式展开后x^n y^m项的系数。输入输入文件名为 factor.in。共一行,包含 5 个整数,分别为a,b,k,n,m,每两个整数之间用一个空格隔开。输出输出文件名为 factor.out。输出共 1 行,包含一个整数,表示所求的系数,这个系数可能很大,输出对10007 取模后的结果。样例输入Copy (如...原创 2019-02-27 15:03:08 · 662 阅读 · 0 评论 -
C++解题报告:迷路[SCOI2009]——巧妙运用加速矩阵快速求解
引言好题一道,恶心到爆。。。迷路题目描述windy在有向图中迷路了。 该有向图有 N 个节点,windy从节点 0 出发,他必须恰好在 T 时刻到达节点 N-1。 现在给出该有向图,你能告诉windy总共有多少种不同的路径吗? 注意:windy不能在某个节点逗留,且通过某有向边的时间严格为给定的时间。输入输出格式输入格式:第一行包含两个整数,N T。 接下来有 ...原创 2019-04-16 13:52:19 · 630 阅读 · 0 评论 -
剑指offer.C++数论 gcd 巧解——运用 欧式筛法&欧拉函数 快速求解
前言数论大法好,人间真善美。。。题目描述给定整数N,求1<=x,y<=N且Gcd(x,y)为素数的数对(x,y)有多少对?输入一个整数1<=N<=1000000输出一个整数样例输入4样例输出4提示【样例解释】(2,2),(2,4),(3,3),(4,2)思路拿到这道题很容易想到暴搜,但数据范围很大,所以就要...原创 2019-04-09 14:22:59 · 415 阅读 · 0 评论 -
浅析中国剩余定理(CRT)
中国剩余定理用来求解同余方程组的最小非负整数解,其中都互质 首先让 M 等于所有的最小公倍数,对于求解每一个的方程先设一个,再求解其逆元则会有一组最小解其通解就是如果没有看懂,可以看详细求解同余方程这一篇博客代码数论大法好,人间真善美。。。#include <iostream>#include <cstdio...原创 2019-04-03 13:33:12 · 1013 阅读 · 0 评论 -
剑指offer.C++ 浅析BSGS算法
前言数论大法好,人间真善美。。。BSGS算法一般用来求解成立的最小的L的解对于求解这道题,要先进行分解设 L = i * x - y ,就得到,即再移项然后就是循环一遍 y 的值,将其存入HASH表中在循环枚举 i ,求解出第一个满足这个式子的值就是最小值 ans = i * x - y板题Discrete Logging代码数...原创 2019-03-26 14:01:02 · 414 阅读 · 0 评论 -
C++ 数论学习 质因数分解 —— 无关的元素
引言数论大法好,人间真善美。。。题目题目描述对于给定的n个数a1,a2,...,an,依次求出相邻两数之和,将得到一个新数列。重复上述操作,最后结果将变成一个数。问这个数除以m的余数与哪些数无关?例如n=3,m=2时,第一次求和得到a1+a2,a2+a3,再次求和得到a1+2a2+a3,它除以2的余数和a2无关。输入第1行:2个整数n和m(1<=n<...原创 2019-03-20 13:18:25 · 444 阅读 · 0 评论 -
C++ 如何快速求出n以内互质数的个数
题目描述如果不同的整数X和Y的最大公约数为1,则称X和Y为互质数。显然,X和Y互质等价于Y和X互质。给出整数N,求1~N之间,有多少个数对(X,Y)是互质数。例如N=5时,(1,2) , (1,3), (1,4), (1,5), (2,3), (2,5), (3,4), (3,5), (4,5)共9对数是互质数。思路很容易想到暴搜,两重循环,模拟 x 和 y ,再判定是否互质,但数...原创 2019-02-27 13:58:20 · 8412 阅读 · 1 评论 -
浅谈欧拉函数
引言我们知道,欧拉函数是一个非常有用的函数,要想学好数论,就必须要学懂欧拉函数(自己也没怎么学好)话不多说,直接步入正题。欧拉函数的基本定义欧拉函数用符号表示,如那么就会有一个问题,欧拉函数得出的值的意义是:得出的结果即 n 以内与 n 互质的整数的个数的结果是4,与8互质的数的个数为4,有 1 , 3 , 5 , 7 与 8 互质。一个正整数 n ,可以分解为若干个质...原创 2019-02-27 13:39:03 · 2256 阅读 · 0 评论 -
C++ [NOIP2002]选数题解——简单数论与DFS的运用
问题 F(1413): [NOIP2002]选数时间限制:1 Sec内存限制:64 MB题目描述已知 n 个整数 x1,x2,…,xn,以及一个整数 k(k<n)。从 n 个整数中任选 k 个整数相加,可分别得到一系列的和。例如当 n=4,k=3,4 个整数分别为 3,7,12,19 时,可得全部的组合与它们的和为: 3+7+12=22 3+7+19=29 7+12+19=38...原创 2019-03-01 14:23:40 · 990 阅读 · 2 评论 -
C++ 二元一次不定方程巧妙求解——运用扩展欧几里得算法
前言在关于数论的学习中,求解二元一次不定方程是很重要的,在学习求解二元一次不定方程之前,要先了解欧几里得算法和扩展欧几里得算法。关于数论的学习欧几里得算法欧几里得算法就是辗转相除法,欧几里得算法中 ( x , y ) 的最大公约数与 ( y , xmod y) 的最大公约数相同。证明:设 y = k*x+b ,则 b = y % x 设 d 是 ...原创 2019-03-01 14:04:29 · 4026 阅读 · 0 评论 -
C++ 数论知识总结
引言数论大法好,人间真善美。。。数论模板一. 判定质数二. 欧拉筛法三. 欧拉函数方法一方法二四. 二元一次不定方程五. 矩阵乘法六. 快速幂七. 中国剩余定理八.中国剩余定理Pro练习题一. 判定质数for(int i = 2 ; i * i <= n ; ++i) { if( n % i == 0 ) ...原创 2019-02-28 13:23:35 · 2456 阅读 · 1 评论 -
C++解题报告:Tokitsukaze, CSL and Stone Game[ COCI ] —— 博弈论
题目描述Irressey与yurzhang在玩一个取石子的游戏一开始,他们面前有nn堆石子,第ii堆石子有a_iai颗石头,他们轮流取石子(Irressey先取)。每一次,取石子的人会选中一个非空的石子堆并取走其中的一颗石子。如果在某个人的回合前所有的石子堆都是空的,或者在他取完后有两堆的石子数量相同(两堆都没有石子也算),则他输掉游戏。如果lrressey胜利,输出sjfnb;如...原创 2019-08-16 21:31:22 · 429 阅读 · 2 评论