摘要:
并查集 题目链接 就是并查集的扩展。 用size数组记录每个连通块的大小,用maxn数组记录每个联通块中数的最大值,答案就是:每个连通块大小*该连通块中数的最大值 ac代码 #include<bits/stdc++.h> using namespace std; const int N = 1000 阅读全文
摘要:
线性筛+暴力分解质因数+快速幂 题目传送门 首先对于$gcd(x_1, x_2, ..., x_n)$有两种解法 辗转相除法,每次用辗转相除法求两个数的gcd,然后用结果再和下一个数求gcd即可 对每个$x_i$ 分解质因子,n个数的最大公倍数就是:n个数所有(公共质因子的最小次幂 )的积 对于方法 阅读全文
摘要:
【2021寒假集训营第一场】A-串 dp,容斥原理,快速幂 传送门 这个题目就是容斥原理的应用,关键是弄明白长度为i的字符串根据us分为几种 长度为i的字符串主要分为三种: 不含u的 含u不含us的 含us的 这三种加起来就是全集 解法一: 使用$f[i]$表示长度为i的含有us的字符串 可以分为以 阅读全文
摘要:
快速幂就是快速求解一个整数a的n次幂的算法,传统的求解思路是按照线性的求解顺序:\(a^n = a*a*a*...*a\),这样做的算法时间复杂度是$O(n)$,而快速幂借助二进制的思想,可以将时间复杂度降低到$O(logn)$ int quick_pow(int a, int n) { int a 阅读全文
摘要:
1 基本性质 \((a+b)\% p = (a\%p + b\%p)\%p\) \((a-b)\% p = (a\%p - b\%p)\%p\) \((a*b)\% p = (a\%p * b\%p)\%p\) \((a^b)\% p = ((a\%p)^ b)\%p\) 除法不满足,但是根据费马小 阅读全文
摘要:
转载于:https://www.jianshu.com/p/452c1a5acd31 对于整数的取模运算,想必大家已经比较熟悉了,譬如说 7 对 3 取模,结果是多少,我们可以按照小学的公式:被除数÷除数=商……余数 来推算: 7 ÷ 3 = 2 ...... 1 那么结果是 1。 对于正整数来说, 阅读全文
摘要:
线性筛+数学规律 传送门 前两天刚学了线性筛,拿这题练练手 开始的思路是: 先求出1-n所有的素数, 然后用再遍历一遍去掉所有素数的幂次方,剩下的数就是没有被吃掉的 再求出所有没有被吃掉数的最小公倍数; 显然TLE了,数据量是1.6e8,太大了,数稍微大点,两步都求不完就卡死了;但是做的过程中发现了 阅读全文
摘要:
前天参加的699div2,A题因为没考虑(x,0), (0,y)这种情况没过,b题看了好久最后就写了个读入。后面几个题都没看。。。 今天看了看B题题解,发现一点也不难,就是简地模拟每个石块的滚动就行了。 还是自己太菜了,而且信心不足,打一场比赛就全暴露出来了,没关系慢慢来,我会慢慢厉害的! B题传送 阅读全文
摘要:
要解决的问题:给定一个正整数$n$,求出所有小于等于$n$的素数 素数又称质数,其因子只有1和它自己本身;与素数相对的叫合数 1、埃拉托斯特尼筛法 #include<bits/stdc++.h> using namespace std; #define N 10000 #define ll long 阅读全文
摘要:
牛客寒假训练营第二场D题 Description: 整除分块,又称数论分块。是数论算法中的重要技巧,你可以在各种需要枚举因子的连续求和类问题中见到它的身影。如杜教筛,莫比乌斯反演化简后的整除分段求和等。balabala ...(复制过来乱码,遂放弃),题目链接:https://ac.nowcoder 阅读全文