
数学知识
文章平均质量分 62
迷亭1213
帅帅帅
展开
-
关于考研数学微分方程绝对值问题
摘要本人在复习考研数学过程中,在做某些微分方程问题时,有些题目的标准答案要加上绝对值,有些又不用加。按理说凡是涉及 lnlnln 的我全加上就好了,但是加上绝对值又不便下一步计算,为此特地查阅一些资料,将考研数学微分方程中绝对值相关问题整理记录。本文将首先提出问题模型,接着对其进行分析讨论,最后给出应用结论。问题的提出开头提到的微分方程中绝对值问题其实本质上就是不定积分中对 ∫1u du=...原创 2020-05-05 11:36:13 · 21857 阅读 · 25 评论 -
一、行列式
第 1 章 行列式二阶与三阶行列式行列式的定义[P1]什么是行列式、阶、元素、行标、主对角线、副对角线、系数行列式。二阶与三阶行列式的计算[P3]对角线法则(只适用于二阶与三阶行列式)。全排列和对换相关概念[P4]什么是全排列、逆序、逆序数、奇排列、偶排列、对换。定理(对换)[P5]一个排列中的任意两个元素对换,排列改变奇偶性。推论:奇排列对换成标准排列的对换次数为奇数,偶排...原创 2020-05-04 10:56:35 · 2338 阅读 · 0 评论 -
Codeforces Round #628 (Div. 2)
A. EhAb AnD gCd题意简述给定 x,要求一对数 a ,b, 使得 GCD(a ,b) + LCM( a, b) = x,其中 GCD 表示求最大公约数, LCM 表示求最小公倍数。解题思路只需要分为 1 和 x-1 即可。代码示例#include<bits/stdc++.h>using namespace std;int t,x;int main(){ ...原创 2020-03-21 16:12:14 · 523 阅读 · 0 评论 -
2020 CCPC Wannafly Winter Camp Day5 部分题解
A Alternative Accounts题意简述一共有 n 个账号,k (k <= 3) 场比赛,一个人可能拥有多个账号,但是一个人不会用多个账号参加同一场比赛。给定 k 场比赛的参与账号,请问这 n 个账号最少属于多少人。解题思路k 只有 3 种情况,1,2,3。当 k = 1 时,有多少账号参赛,就最少有多少人。当 k = 2 时,每一个账号可能参与:0 场比赛,1 场...原创 2020-01-31 17:59:29 · 880 阅读 · 0 评论 -
Educational Codeforces Round 81 (Rated for Div. 2)
A. Display The Number题意简述众所周知 7 根数码管可以用于表示数字 0~9 ,现在给 n 根数码管,请问能表示的最大的数是多少?解题思路显然位数越大的数越大,相同位数时,高位大的数越大。那么最少用 2 根数码管能表示一个数字,即 1,所以我们尽量多的表示 1,可以表示 n/2 个1,如果 n 为奇数,那么剩下的 1 个数码管可以和最高位表示出 7,因此我们只需对 n ...原创 2020-01-30 15:15:09 · 545 阅读 · 0 评论 -
POJ1284 Primitive Roots (积性函数)
原题链接:POJ1284题意简述:定义一个概念原根(primitive root),给出p,求出p为模的原根数量。解题思路: 原根是数论中的一个概念,有关定义和证明请看原根的性质以及如何求原根代码实例:#include<cstdio>const int maxn = 1e5+10;int v[maxn],phi[maxn],primes[maxn];int cn...原创 2019-01-27 13:32:51 · 548 阅读 · 0 评论 -
POJ2048 Longge's problem(积性函数)
题目链接:POJ2048题意简述:给出一个整数N,求出 i 从1到 N 的所有 GCD(i,n) 的和。解题思路:将GCD(i,N)分为两个部分,即GCD(i,N)= 1与!=1。GCD(i,N) = 1:从1到N所有与N互素的数有 phi(N) 个,而如果数 i 与 N互素,那么GCD(i,N) = 1,故该部分的和就求出来了,就是phi(N)。 GCD(i,N) != 1:假...原创 2019-01-27 12:58:54 · 466 阅读 · 0 评论 -
HDOJ5015 233 Matrix(矩阵乘法加速递推)
原题链接:HDOJ5015题意简述:给定矩阵每个元素计算公式,求下标为(m,m)的元素的值。解题思路:刚开始想着递推求出整个矩阵,后来我哭了。m 可达1e9,要化简到 lg 级别才能不超时,这时我隐约想到用转移矩阵加快速幂做了,根据《算法竞赛进阶指南》P151页所述,如果一类问题具有如下特点:可以抽象出一个长度为n的一维向量,该向量在每个单位时间发生一次变化 变化的形式是一个线性递推...原创 2019-01-16 15:12:27 · 690 阅读 · 0 评论 -
POJ1014 Dividing(幂级数型生成函数)
原题链接:POJ1014题意简述:给出六种价值分别为1,2,3,4,5,6的石头的个数,求是否可以公平的分成两份价值相同的石头。其中石头不可分割。解题思路:就是说求是否可以分成两份,价值相同,可以使用幂级数型生成函数来求多重集的组合计数。详情步骤见吴永辉老师的《算法设计编程实验》。记录这题主要是为了熟悉幂级数型求多重集组合计数的代码写法。代码实例:刚接触幂级数这一块,所以暂时没能力分析...原创 2019-01-24 13:46:36 · 833 阅读 · 0 评论 -
莫比乌斯函数与莫比乌斯反演
以下笔记整理自:《算法设计编程实验》吴永辉1.结论1.1 莫比乌斯函数:莫比乌斯函数可以看做一个辅助函数,它在莫比乌斯反演公式中用到。1.2 莫比乌斯反演:莫比乌斯反演公式是 根据和函数来求算数函数的一个公式。1.3 算数函数:所有在正整数上运算的函数称为算数函数。1.4 和函数:设 f 是算数函数,f 的和函数为。其中d为n的约数,所以 f 的和函数F(n)就是n的所有约数的...原创 2019-01-27 14:20:41 · 836 阅读 · 0 评论 -
递推式计算与矩阵乘法 C++
以斐波那契数列为例,计算斐波那契数列的矩阵方法代码如下:(快速幂、矩阵乘法)《挑战程序设计竞赛第二版》P199#include<iostream>#include<vector>using namespace std;typedef vector<int> vec;typedef vector<vec> mat;int M = 1...原创 2018-07-29 20:22:32 · 565 阅读 · 0 评论 -
2017蓝桥杯: k倍区间
题目描述:给定一个长度为N的数列,A1, A2, ... AN,如果其中一段连续的子序列Ai, Ai+1, ... Aj(i <= j)之和是K的倍数,我们就称这个区间[i, j]是K倍区间。 你能求出数列中总共有多少个K倍区间吗? 输入第一行包含两个整数N和K。(1 <= N, K <= 100000) 以下N行每行包含一个整数Ai。(1 <= Ai...原创 2019-03-03 20:07:39 · 1556 阅读 · 0 评论 -
求2的n次方对1e9+7的模
有如下问题:求2^n mod (1e9+7),其中1< n < 10^100000。首先明确一下此类问题的几种算法,首先朴素算法,即暴力循环求解,是O(N)复杂度,适用范围应该是n小于1000000;然后是快速幂算法,效率是O(log N),适用于n小于2100000级别的;然后就是上面的例题了,由于范围是10100000,即使是快速幂也不可能在期望时间内解决,这时候需要另辟蹊...原创 2019-06-01 23:05:23 · 5141 阅读 · 1 评论 -
求矩形交集简易版
例题:在二维平面上,给定两个矩形,满足矩形的每条边分别和坐标轴平行,求这个两个矩形的并的面积。即它们重叠在一起的总的面积。解题思路:在求两个矩形并的面积之前,我们首先需要知道其是否相交,可以按照如下方式求解:并的面积 = 总面积 - 相交面积。于是问题转变成了如何求两个矩形相交的面积。以(x1 , y1) 和 (x2 , y2)为左下顶点和右上顶点的矩形A,和以(x1’ , y1’) 和...原创 2019-06-11 15:21:10 · 1564 阅读 · 0 评论 -
SARS病毒
由于本题原型是HDU2065,解题方法以及思路相同,故以HDU2065为例整理题解。Problem Description医学界发现的新病毒因其蔓延速度和Internet上传播的"红色病毒"不相上下,被称为"红色病毒",经研究发现,该病毒及其变种的DNA的一条单链中,胞嘧啶,腺嘧啶均是成对出现的。现在有一长度为N的字符串,满足一下条件:(1) 字符串仅由A,B,C,D四个字母组成;(2) ...原创 2019-07-14 22:29:37 · 1898 阅读 · 3 评论 -
拓展欧拉定理+幂塔函数
拓展欧拉定理与幂塔函数欧拉定理: 若gcd(a,p) = 1,则 ap≡ab%φ(p)(mod p)a^p \equiv a^{b \% \varphi (p)}(mod \: p)ap≡ab%φ(p)(modp),其中gcd(a,p) = 1。拓展欧拉定理: 假设a为任意数,b和m为正整数,且b>φ(m)b > \varphi(m)...原创 2019-09-02 12:16:28 · 1866 阅读 · 0 评论 -
Miller_Rabin测试法
简介:Miller_Rabin法是一种简便的素数测试方法,一般用于测试大数是否为素数。Miller_Rabin测试原理:如果n是素数,且与a互质,则 。(1)证明:请参考费马小定理证明方法。思路:依据上述原理,我们可以不断选取与 n 互质的 a ,如果上式(1)都成立的话,那么n可能是一个素数,否则一定不是一个素数。如此一来只要a取得够多,就可以保证结果的准确度。一般在32位内的任一个...原创 2018-12-25 11:32:59 · 988 阅读 · 0 评论 -
BZOJ2818 GCD(线性筛、最大公约数、欧拉函数递推)
题意:给定整数N,求1<=x,y<=N且Gcd(x,y)为素数的数对(x,y)有多少对.输入格式: 一个整数N输出格式: 答案AC代码:/*BZOJ2818思路:利用欧拉函数、前缀和来减少计算量。 */#include<cstdio>const int maxn = 1e7+10;int primes[m...原创 2018-12-28 15:27:16 · 529 阅读 · 0 评论 -
POJ2311(SG函数)解题报告
原题链接:POJ2311解析:作为书上的例题,用来练手,思路懒得说,主要熟悉代码写法。代码示例:#include<cstring>#include<cstdio>const int maxn = 300;int sg[maxn][maxn];int vis[1000];int get_sg(int n,int m){ if(n == 1 || m ...原创 2018-12-16 16:39:16 · 629 阅读 · 0 评论 -
UVa10791 Minimum Sum LCM(唯一分解定理)
原题链接:UVa10791解析:给出n,可以由唯一分解定理把n分解为若干素数相乘的形式(n = a1^p1*a2^p2*...)。由于任意一个数都可以分解成上述形式,所以最小公倍数为n的一些数分解出来的每个素数的指数一定不大于n对应素数的指数。每个a^p单独作为一个整数时和最小。代码实例:#include<iostream>#include<cmath>#...原创 2018-08-04 16:46:14 · 5770 阅读 · 0 评论 -
UVa1635 无关的元素(二项式定理)
解析:若想m是a的倍数,那么将m和a按照唯一分解定理分解为素数相乘,a对应素数的指数一定要大于等于m对应素数的指数。其中e是对应p的素数的指数,根据递推式,每次与(n - k + 1)/ k 相乘,改变了对应的指数,故用e表示不同系数的对应位置上素数的指数。代码实例:P320#include<cmath>#include<iostream>#include&l...原创 2018-08-05 13:24:12 · 307 阅读 · 0 评论 -
UVa10820 交表(欧拉phi函数)
原题链接:UVa10820解析:由题意可得,当表最简时,x与y不能有公因数,即x与y互素。当x<y时,那么小于y且与y互素的元素个数有phi[y]个。设f为小于n的所有y的二元组,那么f = phi[2] + phi[3] + phi[4] + ... + phi[n]。当x>y时同理,故最终答案为ans = f + f + 1。最后加上的1是f(1,1)。代码实例:#i...原创 2018-08-08 10:29:23 · 5797 阅读 · 0 评论 -
UVa10168 拓展哥德巴赫猜想
原题链接:UVa10168解析:当n<8时,不能分解为4个素数的和 当n为偶数时,前两个可以分解为2 2,此时n = n-4 当n为奇数时,前两个可以分解为2 3,此时n = n-5,再用哥德巴赫猜想做法做 验证哥德巴赫猜想:离线好数组vis和primes,vis[i]表示i是否为素数,primes存从1到n所有素数,如果primes[i]为素数,且n-primes[i]仍为素...原创 2018-08-30 20:13:00 · 10758 阅读 · 0 评论 -
解题报告:UVa10929(奇偶差位法)
原题链接:UVa10929解析:本题可以用递推或者奇偶差位法:从右至左,分别将奇数位的数字和偶数位的数字加起来,再求他们的差。如果这个差是11的倍数(包括0),则A一定能被11整除。代码示例:#include<iostream>#include<cstdio>using namespace std;int main(){ string str; ...原创 2018-08-29 15:48:20 · 9150 阅读 · 0 评论 -
逆元inv详细整理
个人笔记,仅供复习1.概念1.1 定义:逆元素是指一个可以取消另一给定元素运算的元素,在数学里,逆元素广义化了加法中的加法逆元和乘法中的倒数。1.2 数论中定义:如果满足公式,a*b = 1(mod P),则a是b的逆元,同时b也是a的逆元。1.3 另一种定义:a*x = 1 (mod P),其中a与P互质,则称x的最小整数为a关于P的逆元。2.逆元的应用2.1 除法...原创 2018-09-23 21:36:21 · 11304 阅读 · 1 评论 -
求N所有正约数
题意:给定一个正整数N(N < 2*10e9),求N所有正约数。解题思路:10e9之内约数个数最多的数的约数个数为1536个。我们可以计算根号N的所有质数,进而求出其约数。代码实例://唯一分解定理//前10000个数中有1229个素数 //10e9自然数内,约数最多的数的约数个数为1536 //我们只能算到2*10e5 #include<iostream>...原创 2018-10-30 15:25:16 · 11320 阅读 · 0 评论 -
欧拉函数与线性筛模板
代码实例:求单个欧拉函数。分解单个数,可以用循环来实现,不必借助辅助数组。线性筛求欧拉函数://求欧拉函数phi #include<cstdio>int phi(int n){ int ans = n; for(int i = 2;i*i <= n;i++){ if(n%i == 0) ans = ans/i*(i-1); while(n%i == 0)...原创 2018-10-30 15:53:47 · 8889 阅读 · 0 评论 -
拓展欧几里得算法模板
代码示例:求出ax + by = c的所有解#include<cstdio>int exgcd(int a,int b,int& x,int& y){ if(b == 0){ x = 1,y = 0; return a; } int d = exgcd(b,a%b,x,y); int t = x; x = y,y = t - a/b*y; r...原创 2018-11-04 21:19:44 · 8760 阅读 · 0 评论 -
Baby Step,Giant Step算法模板
介绍:BSGS(Baby Step,Giant Step)算法是用来求高次同余方程的解的算法。模板:P148//baby step giant step#include<iostream>#include<map>#include<cmath>using namespace std;typedef long long ll;ll q_pow...原创 2018-11-11 15:48:37 · 8889 阅读 · 0 评论 -
矩阵乘法模板C/C++
由于矩阵相乘是诸多算法中的基础,就像乘法之于快速幂一样,所以有必要熟练掌握,以下模板是我个人觉得用起来比较方便的,但是随着时间迁移肯定是需要对其进行精进的。代码示例:struct Matrix{ int n,m; int v[maxn][maxn]; Matrix(int n,int m):n(n),m(m){} void init(){ //初始化矩阵 memse...原创 2018-11-12 12:34:34 · 14292 阅读 · 2 评论 -
异或空间与高斯消元
1.异或空间相关概念1.1 异或空间:依据线性空间的概念,我们可以进一步推广,不限于向量、向量加法和标量乘法。“异或空间”也是一个很常见的形式。异或空间是一个关于异或运算封闭的非负整数集合。可以在异或空间中用类似方法定义“表出” “线性无关” “基底” 等概念。(注:线性空间又称向量空间,是线性代数中的重要概念,用来处理代数运算以及其它更抽象的问题。)1.2 表出:若整数b能由整数 a1,...原创 2018-11-29 12:00:07 · 9374 阅读 · 0 评论 -
矩阵快速幂模板C++
思路:和整数快速幂一样,唯一不同的就是存放结果的矩阵初始值为单位矩阵,通过重载运算符*后,代码可以大大简化。另外需要注意的是取模问题,我把模M放在了全局变量,这样省却一些麻烦,可以根据自身需要调整,这个无伤大雅。代码示例:#include<iostream> #include<cstdio> #include<cstring> using ...原创 2018-12-04 21:41:52 · 7517 阅读 · 0 评论 -
POJ2947解题报告
原题链接:POJ2947思路:本题是用高斯消元以及同余方程做,但是需要注意整数高斯消元避免使用除法。还需注意同余方程的解的问题、方程式与未知数个数不等问题。错误报告:这题总时间花了应该有七八个小时了。第一次做忽略了方程式个数不等于未知数个数时情况,并且对于何时无解、何时多解判断方法错误,在消元方面我使用了最小公倍数(异曲同工哈?)避免消元后出现的小数。今天又用了近四小时更改,发现如下错误:...原创 2018-11-27 18:18:42 · 8873 阅读 · 0 评论 -
博弈论-SG函数笔记
例一:给定n堆物品,第 i 堆物品有 Ai 个。两名玩家轮流行动,每次可以任选一堆,取走任意多个物品,可把一堆取光,但不能不取。取走最后一件物品者获胜。两人都采用最优策略,问先手能否获胜。1.概念1.1 局面:游戏过程中面临的状态称为局面。1.2 先手与后手:整局游戏第一个行动的称为先手,第二个行动称为后手。1.3 最优策略:若在某一局面下存在某种行动,使得行动后对手面临必败局...原创 2018-12-16 12:31:34 · 550 阅读 · 0 评论 -
UVa10375 选择与除法(唯一分解定理)
原题链接:UVa10375解析:其中primes是前1000个素数,e数组存放每个素数对应的指数。代码实例:#include<iostream>#include<cstring>#include<cmath>#include<cstdio>using namespace std;int primes[1005];int e[...原创 2018-08-04 15:31:53 · 299 阅读 · 0 评论