ICode9

精准搜索请尝试: 精确搜索
  • AcWing 算法基础课 数论2022-01-01 18:36:44

    一、质数   质数是大于1的自然数,只包含1和本身两个约数。   1、质数的判定,O(sqrt(n))     试除法,推荐循环i<=n/i(防止溢出和sqrt计算)   2、分解质因子,O(logn~sqrt(n)) 1 for(int i=2;i<=n/i;i++) 2 { 3   if(n%i==0) 4   {//此时2~i-1的质因子已经除完,i必为质

  • 筛素数的理解2021-12-26 16:05:35

    诶式筛法 void get_primes2() { for(int i = 2; i <= n;i++) { if(!st[i]){ primes[cnt++] = i; // 把素数存起来 for(int j = i + i; j <= n;j += i) st[j] = true; // 把质数的倍数筛掉 } } } 线性筛法 void get_primes() {

  • 欧拉函数、欧拉定理、费马小定理(附例题)2021-12-15 12:58:58

    欧拉函数 欧拉函数的公式可以用容斥原理证明。 欧拉函数的求法1:O(n*sqrt(n)) ACWING873欧拉函数 给定 n 个正整数 ai ,请你求出每个数的欧拉函数。 欧拉函数的定义 输入格式 第一行包含整数 n 。 接下来 n 行,每行包含一个正整数 ai 。 输出格式 输出共 n 行,每行输出一个正整

  • X的因子链(筛质数、分解质因数、组合计数)————《信息学奥赛一本通》 , POJ2021-11-26 20:00:24

    X的因子链 输入正整数 X,求 X 的大于 1 的因子组成的满足任意前一项都能整除后一项的严格递增序列的最大长度,以及满足最大长度的序列的个数。 输入格式 输入包含多组数据,每组数据占一行,包含一个正整数表示 X。 输出格式 对于每组数据,输出序列的最大长度以及满足最大长度的序列

  • 线性筛2021-11-17 22:03:21

    const int N = 1e4; int primes[N], cnt; bool st[N]; bool vis[N]; void get_primes(int n) { for(int i = 2; i <= n; i++) { if(!st[i]) primes[cnt++] = i; for(int j = 0; primes[j] <= n / i; j++) { st[primes[j]*i

  • CodeForce#230 B - T-primes2021-11-13 22:00:32

    /* *date:2021.11.13 *author:percation */ #include <bits/stdc++.h> using namespace std; #define ll long long const int N = 2e6 + 10, M = 1e6 + 100; int n,m; ll num; ll a[N]; int prime[N]; bool st[N]; int cnt = 0; void isprime(){ st[1] = 1; for(int

  • 素数筛选法(埃氏筛 欧拉筛)2021-11-05 12:59:15

    质数筛选法 文章目录 质数筛选法 前言一、埃氏筛 O ( n l o

  • p004_print_primes.py2021-10-17 23:00:46

    代码: 1 def is_prime(number): 2 if number in(1,2): 3 return Ture 4 for idx in range(2,number): 5 if number%idx==0: 6 return False 7 return True 8 9 10 11 12 def print_primes(begin,end): 13 for number

  • 874. 筛法求欧拉函数(线性筛)2021-10-10 19:34:03

    筛法求欧拉函数 给定一个正整数 n,求 1∼n 中每个数的欧拉函数之和。 输入格式 共一行,包含一个整数 n。 输出格式 共一行,包含一个整数,表示 1∼n 中每个数的欧拉函数之和。 数据范围 1≤n≤106 输入样例: 6 输出样例: 12 题意分析: 首先补一个公式 欧拉函数的定义 1∼N 中与 N 互

  • 2018-2019 ACM-ICPC, Asia Nanjing Regional Contest J. Prime Game(数论)2021-09-28 19:59:51

    题组传送门 题意 现在给你一个含有 n n n个正整数的集合 a [ ] a[ ]

  • 871. 约数之和2021-09-27 09:36:34

    题目传送门 约数个数与约数和专题 #include <bits/stdc++.h> using namespace std; typedef long long LL; typedef pair<int, int> PII; const int N = 110; const int mod = 1e9 + 7; unordered_map<int, int> primes; int n; int main() { cin >> n; wh

  • 868. 筛质数2021-09-27 08:32:52

    题目传送门 理解与感悟 先去掉2的倍数,再去掉3的倍数,再去掉4的倍数,……依此类推,最后剩下的就是素数。 如求100以内的素数,我们只要到去掉sqrt(100)的倍数就可以了,这是因为10的2倍已经被2的倍数去掉了,10的3倍已经被3的倍数去掉了,所以到10的时候只剩下10的10倍以上的素数还存在。 同样

  • [NC 200008] Lady Layton with Math (杜教筛)2021-09-23 09:01:51

    题意 求 ∑ i = 1 n

  • 888. 求组合数 IV2021-09-14 18:00:10

    思路: 流程: 来源大佬题解 代码: # include<iostream> # include<algorithm> # include<vector> using namespace std; const int N = 5010; int primes[N],cnt; int sum[N];//每个质数的次数 bool st[N]; //筛素数,把1−5000之间的素数筛出来。 void get_primes(int n)

  • 1015 Reversible Primes (20 分)2021-09-01 18:34:13

    A reversible prime in any number system is a prime whose "reverse" in that number system is also a prime. For example in the decimal system 73 is a reversible prime because its reverse 37 is also a prime. Now given any two positive integers N (&

  • 算法题解----分解质因数 + 筛质数的三种算法2021-08-21 01:02:31

    第一部分 : 分解质因数 任何一个大于 1 的正整数都可以写成这样的形式:    其中 Pi 是 一个质数 那么我们可以用怎么样的算法去得到 这个正整数的 质因数以及其 指数呢? 我们可以用 试除法这个方法:① 找到N的一个 质约数 然后让N一只除这个质约数,直到 N % Pi != 0  ② 记录我们除

  • P6973 [NEERC2016]List of Primes2021-08-14 15:33:48

    题目传送门。 题意简述:将质数集合的所有子集按照子集和为第一关键字,字典序为第二关键字从小到大排序,求最终形成的字符串的第 \(l\sim r\) 个字符。 在 cnblogs 内查看。 又是一道妙妙题。 首先考虑当 \(r\leq 10^5\) 时直接搜索,首先枚举子集和 \(i\),状态是 \(sum,len,lim\) 表

  • 2021"MINIEYE杯"中超(6)补题2021-08-13 02:31:07

    2021"MINIEYE杯"中超(6) 1001 Yes, Prime Minister 考虑区间和公式:(l + r) * (r - l + 1) / 2,当r >= l + 2时,这个公式一定可以写成两个大于1的数相乘,也就一定不是质数,所以在r > 0时,区间和长度一定不大于2。(l > 0 且r >= l + 2时) 对于x < 0 时,有两种情况:1.找到一个最小的y,使得y大

  • [总结] 线性筛与积性函数2021-08-12 18:34:12

    [总结] 线性筛与积性函数 利用线性筛中一个数仅仅被它最小的质因子筛掉的性质,结合积性函数的特殊性质,往往可以预处理出积性函数的值。 \(\varphi(x)\) 设 \(P\) 是质数,显然 \(\varphi(p)=p-1\)。 根据定义式:\(\varphi(x)=x\cdot \prod_{i=1}^k{\frac{p_i-1}{p_i}}\),则 \(\varphi

  • LeetCode 313 超级丑数2021-08-09 22:02:22

    超级丑数 是一个正整数,并满足其所有质因数都出现在质数数组 primes 中。 给你一个整数 n 和一个整数数组 primes ,返回第 n 个 超级丑数 。 题目数据保证第 n 个 超级丑数 在 32-bit 带符号整数范围内。 示例 1: 输入:n = 12, primes = [2,7,13,19] 输出:32 解释:给定长度为 4 的质数

  • P1621 集合题解2021-08-07 14:35:15

    题目传送门 一、思路与感悟 1、查看一下A、B集合的数据范围,发现是\(1 <= a < b <= 10^5\),双重循环遍历所有组合,就是\(10^{10}\)次运算,肯定会\(TLE\),所以暴力是不行的。 2、那只能是通过某些条件干掉一些数字,减小范围。题意可知,两个数都需要有一个大于等于\(p\)的公共质数因子,需要

  • CF1493D GCD of an Array (分解定理+思维)2021-08-06 18:33:43

    题目传送门 这道题有一个非常牛逼的数据结构就是 m u l t i s e

  • 快速幂 & 约数 & GCD & 质数筛(埃塞 & 线塞)2021-08-01 11:32:23

    常用代码模板4——数学知识yyds 试除法判定质数  bool is_prime(int x) { if (x < 2) return false; for (int i = 2; i <= x / i; i ++ ) if (x % i == 0) return false; return true; } 试除法分解质因数 void divide(int x) { for (in

  • 2021-7-31 T-primes2021-07-31 22:01:37

    难度 1300 题目 Codeforces: B. T-primes time limit per test 2 seconds memory limit per test 256 megabytes   We know that prime numbers are positive integers that have exactly two distinct positive divisors. Similarly, we'll call a positive integer t 

  • CF1149A - Prefix Sum Primes(贪心)2021-07-17 20:33:41

    传送门:Problem - 1149A - Codeforces 考虑到除了2以外所有的质数都由奇数组成,因此贪心思路为构造一个数列,使得数列中前缀和为奇数的情况尽量多。 因此可以先输出2和1,再将所有的2输出,最后再输出所有的1,此时得到的前缀和为质数的数量最多。     #include<iostream> #include<cstd

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有