2022年4月6日

摘要: 求一个数的最大公约数最常用的方法就是辗转相除法,也就是说gcd(a,b) == gcd(b,a%b); 为什么说这样是可以的呢,我们首先证明一下if(a%d == 0 && b%d == 0) then (k1*a+k2*b)%d == 0; 我们接下来继续说明一下原式为什么可行: 假设a>b,a 阅读全文

posted @ 2022-04-06 20:16 ZheyuHarry 阅读(381) 评论(0) 推荐(0) 编辑

摘要: 让我们先来看到欧拉函数的定义: 我们相当于已经知道了公式只需要按照公式进行质因式分解即可,直接来看代码吧: #include<bits/stdc++.h> using namespace std; int main(){ int n; cin >> n; while(n -- ){ int a; c 阅读全文

posted @ 2022-04-06 20:10 ZheyuHarry 阅读(63) 评论(0) 推荐(0) 编辑

摘要: 这一部分我们将会讲到数论中的快速幂问题,是用于快速求解a^k%p 的此类问题的; 1<=a,k,p <= 1^9; 解题思路: 我们假设a^k的因式分解可以分解为x1,x2,x3....,xk,ans = (x1%p)(x2%p)....(xk%p); 因为我们如果按照朴素做法肯定要一步步求出a^k 阅读全文

posted @ 2022-04-06 19:55 ZheyuHarry 阅读(30) 评论(0) 推荐(0) 编辑

2022年4月5日

摘要: 分析:我们可以看出这道题目的描述并不是很复杂,就是说对于一个给定的整数n,我们能否把他拆成k个powerful的数,也就是说这k个数要么是2的幂次,要么是某个数的阶乘,并且我们要让当前的k越小越好;然后如果不能被拆的话输出-1; 我们这样来看,先看会不会输出-1,我们如果把这个整数n用二进制的方法写 阅读全文

posted @ 2022-04-05 13:56 ZheyuHarry 阅读(72) 评论(0) 推荐(0) 编辑

摘要: 分析:通过读题我们可以知道,这道题其实并不是什么很困难的题,无非就是让我们找到当前产奶量倒数第二小的奶牛,并且特判一下有多头奶牛满足或者没有奶牛满足的情况罢了,这道题的关键在于我们应该如何去分析数据,首先我们知道这里的挤奶记录不是把名字相同的奶牛给综合了,所以我们要想得到对应的奶牛的产奶的数量最简单 阅读全文

posted @ 2022-04-05 13:40 ZheyuHarry 阅读(37) 评论(0) 推荐(0) 编辑

2022年4月4日

摘要: 先前我们已经介绍过了怎么判断质数和约数,现在我们对于约数的个数和约数之和也要进行求解,而求解的方法就是根据算术基本定理来的! 先介绍一下什么是算术基本定理: 算术基本定理可表述为:任何一个大于1的自然数 N,如果N不为质数,那么N可以唯一分解成有限个质数的乘积N=P1^a1*P2^a2*P3^a3. 阅读全文

posted @ 2022-04-04 18:01 ZheyuHarry 阅读(163) 评论(0) 推荐(0) 编辑

摘要: 约数和质数是我们在认识数学问题中经常遇到的两个概念,所以如何判断他们肯定也是我们需要去考虑! 首先我们看一些判断质数: 因为我们可以知道质数的概念指的是这个数只能被1和自身整除,所以我们枚举从2~sqrt(x)的范围内的数,是因为如果不是质数的话是一一对应的,如果在2~sqrt(x)这个范围内被整除 阅读全文

posted @ 2022-04-04 17:46 ZheyuHarry 阅读(77) 评论(0) 推荐(0) 编辑

2022年4月3日

摘要: 我们如何计算从1~n一共有多少个质数呢,我们就要考虑一种筛法,用已知的数把确定的那些不会是质数的数全部筛掉! 我们先介绍第一种一般筛法: void get_primes2(){ for(int i=2;i<=n;i++){ if(!st[i]) primes[cnt++]=i;//把素数存起来 fo 阅读全文

posted @ 2022-04-03 16:14 ZheyuHarry 阅读(158) 评论(0) 推荐(0) 编辑

2022年4月1日

摘要: 题目: 分析:让我们把题目换成人能听懂的话,题目询问的是当前的这个矩阵上被喷成黑色的连通块是不是一个标准的矩阵! 就是说一旦有凸出去或者凹进去的都不行; 题解:我们以2X2的矩阵来看,只要矩阵中黑色的个数不为3,就不会产生问题,就至少不会在这个地方产生凹进去或者凸出来的问题; 这样就非常简单了! 阅读全文

posted @ 2022-04-01 23:02 ZheyuHarry 阅读(46) 评论(0) 推荐(0) 编辑

2022年3月27日

摘要: 这就是NTR算法 ?? 渣男渣女算法 ?? 接下来要介绍的NTR算法,啊呸,不对不对,匈牙利算法,是一种确定二分图的最大匹配数量的一种非常高效的算法; 我们先介绍一下二分图的匹配以及最大匹配: 二分图的匹配:给定一个二分图 G,在 G 的一个子图 M 中,M 的边集 {E} 中的任意两条边都不依附于 阅读全文

posted @ 2022-03-27 11:54 ZheyuHarry 阅读(86) 评论(0) 推荐(1) 编辑