• 2024-06-08P8901 [USACO22DEC] Circular Barn S
    原题链接题解真tm麻烦先考虑只有一个数的情况假如我是后手,由于每次可以减123,无论对手减多少,我总可以使这一轮这个数总共减去的值为四的倍数恰好当n位4的时候先手必败,所以如果一个数为四的倍数时,先手必败考虑多个数数组里,有的数是4的倍数,有的不是。此时假设我是先手,遇到四
  • 2024-06-08C++ 6.8笔记:①判断质数②二分基础算法
    质数试除法判定质数boolprimes(intx){  if(x<2)returnfalse;  for(inti=2;i<=x/i;i++){    if(x%i==0)returnfalse;  }  returntrue;}埃筛1intp[N],k,n;boolf[N];voidprimes(intn){//埃筛,思想:质数的倍数是合数for(inti
  • 2024-06-07Codeforces Round 949 (Div. 2)D. Turtle and Multiplication(欧拉路径、线性筛、思维构造)
    Problem-D-Codeforces  按照官方正解做即可,顺带存个jiangly板子。1#include<bits/stdc++.h>23usingi64=longlong;4std::vector<int>minp,primes;56voidsieve(intn){7minp.assign(n+1,0);8primes.clear();910
  • 2024-06-04Leetcode 313. Super Ugly Number
    ProblemAsuperuglynumberisapositiveintegerwhoseprimefactorsareinthearrayprimes.Givenanintegernandanarrayofintegersprimes,returnthenthsuperuglynumber.Thenthsuperuglynumberisguaranteedtofitina32-bitsignedintege
  • 2024-05-13题解:SP10232 AMR11E - Distinct Primes
    前话这咋人名都和HP一模一样了,SPOJ出题人里是不是全是哈迷啊。思路非常直观的一个思路:从前往后枚举每一个数,看是否满足条件,输出满足条件的第一个。CODE#include<bits/stdc++.h>usingnamespacestd;boolis(intn){//判断质数if(n<2)return0;for(inti=2;i<
  • 2024-05-08【DP】超级丑数
    题源非常神奇的动态规划,不要一直尝试枚举所有的乘积,或者卡在primes数组中定义数组dp,其中\(dp[i]\)表示第\(i\)个超级丑数,第\(n\)个超级丑数即为\(dp[n]\)。由于最小的超级丑数是1,因此\(dp[1]=1\)。如何得到其余的超级丑数呢?创建与数组\(primes\)相同长度的数组\(
  • 2024-04-12游游的排列统计(携程24秋招研发岗第一批)
    题面核心思想素数筛先预处理出20以内的素数然后用全排列的思想去做就好了,就是多了个判断。代码importjava.util.*;publicclassMain{staticfinalintMAXN=(int)(21);staticint[]isNotPrime=newint[21];staticint[]v=newint[11];sta
  • 2024-04-11洛谷题单指南-数学基础问题-P1835 素数密度
    原题链接:https://www.luogu.com.cn/problem/P1835题意解读:要计算L-R范围内素数的个数。解题思路:直接对L~R的每个数判断素数肯定不可取,因为L、R的范围较大。既然要计算素数的个数,那么可以把其中的合数标记出来即可。如何标记合数?可以借助于筛素数的算法思想,枚举每一个素数,然
  • 2024-04-10线性筛最终版
    线性筛最终版如果时间不充裕,很可能tle有时候还是传统数组比较保险快要蓝桥杯了,板子已经不会打了,发出来复习一下vector<int>min_p;//记录每个数的最小质因子vector<int>primes;voidinit_prime(intnum){min_p.assign(num+1,0);for(inti=2;i<=num;
  • 2024-04-10acwing总结-线性质数筛
    质数筛题目链接:质数筛线性筛法ac代码:#include<iostream>#include<algorithm>//https://www.bilibili.com/video/BV1LR4y1Z7pm/?spm_id_from=333.337.search-card.all.click&vd_source=436ccbb3a8f50110aa75654f38e35672//链接到b站视频usingnamespacestd;consti
  • 2024-04-10洛谷题单指南-数学基础问题-P3383 【模板】线性筛素数
    原题链接:https://www.luogu.com.cn/problem/P3383题意解读:素数筛模版题。解题思路:素数筛介绍所谓素数(质数),是指除了1和它本身以外不再有其他因数的自然数,一般用试除法判断素数(时间复杂度:O(sqrt(n))):boolisprime(intx){if(x<=1)returnfalse;for(inti=2;i*
  • 2024-04-04数学知识--(质数,约数)
    本文用于个人算法竞赛学习,仅供参考目录一.质数的判定二.分解质因数三.质数筛1.朴素筛法 2.埃氏筛法3.线性筛法 四.约数1.求一个数的所有约数2.约数个数和约数之和3.欧几里得算法(辗转相除法)--求最大公约数一.质数的判定质数:质数是指在大于1的自然数中,除了1
  • 2024-03-27buuctf childRSA wp
    题目如下点击查看代码fromrandomimportchoicefromCrypto.Util.numberimportisPrime,sieve_baseasprimesfromflagimportflagdefgetPrime(bits):whileTrue:n=2whilen.bit_length()<bits:n*=choice(primes)
  • 2024-03-02质数筛算法详解
    在信息竞赛中,我们总是会遇到很多判断质数的题目,那么在这里就由我来给大家讲解一下质数筛算法(这里所有讲的算法都是基于筛出从\(1\)到\(n\)之间的素数的算法)。1.普通筛法最普通的筛法,也就是将前\(n\)个正整数一个一个来判断是否为素数,并且在判断素数的时候要从\(2\)枚举
  • 2024-02-05【算法专题】约数个数
    约数个数约数个数的普通求法首先我们根据数的唯一分解定理,对\(N\)进行分解得:\[N=p_1^{c_1}\timesp_2^{c_2}\timesp_3^{c_3}\times...\timesp_k^{c_k}\]由约数的定义:\(p_1^{c_1}=p_1^{0}\timesp_1^{1}\timesp_1^{2}\times...\timesp_1^{c_1}\)共有\(c_1
  • 2024-02-05【算法专题】筛质数
    筛质数的三种方法什么是质数?只能够被1和它本身整除的数叫做质数1、朴素筛法那么我们从定义出发,假设我们要判断\(n\)是否是质数,我们从\(1\)开始枚举每一个数,一直到\(n\)看看有没有其他的数能够被\(n\)整除,如果没有,那么\(n\)就是质数。假设我们要筛出从\(1\)~
  • 2024-02-01洛谷题单指南-暴力枚举-P1217 [USACO1.5] 回文质数 Prime Palindromes
    原题链接:https://www.luogu.com.cn/problem/P1217题意解读:本题要找[a,b]范围内的所有回文质数,千万不要被题目提示所干扰,如果按照提示先产生各个长度的回文数,再依次判断是否是素数,程序写起来比较繁琐,需要根据a、b的长度,写8个判断是否产生1~8位回文数,最后做素数判断。换一个思路
  • 2024-01-13abc096d<素数筛,整除>
    题目D-Five,FiveEverywhere寻找n个素数,使得这n个素数中任意5个数之和都是合数。思路如果一个数除5余1,那么5个这样的数之和一定能被5整除;筛出范围内所有满足上述条件,且为素数的数即可。总结如何想到除五余一这一点呢?首先应思考如何构造合数,想到如果是5个数之和,那么
  • 2023-12-28筛素数
    筛素数1:埃式筛法(简单)原理:当枚举到一个数\(a\)得时候,我们将其的倍数都给删掉。因为这样子代表着被删掉的数除了1和其本身以外,最少还有\(a\)这个因子,故而成立。​ 若当枚举到一个数\(i\)的时候,\(i\)没有被删掉。因为\(i\)在之前都没有被删掉,说明从\(2\simi-1\)之中,没有其因
  • 2023-12-10Smith Number
    题目Givenanumbern,thetaskistofindoutwhetherthisnumberisaSmithnumberornot.ASmithnumberisacompositenumberwhosesumofdigitsisequaltothesumofdigitsofitsprimefactors.Example1:Input:n=4Output:1Explanation:Thesum
  • 2023-11-22线性筛
    voidget_primes(intn){for(inti=2;i<=n;i++){if(!st[i])primes[cnt++]=i;for(intj=0;primes[j]<=n/i;j++){st[primes[j]*i]=true;if(i%primes[j]==0)break;}}}
  • 2023-11-01PAT_A1015 Reversible Primes
    A reversibleprime inanynumbersystemisaprimewhose"reverse"inthatnumbersystemisalsoaprime.Forexampleinthedecimalsystem73isareversibleprimebecauseitsreverse37isalsoaprime.Nowgivenanytwopositiveintegers N (&
  • 2023-10-28PAT 甲级【1015 Reversible Primes】
    考察素数判断考察进制转换importjava.io.IOException;importjava.io.InputStreamReader;importjava.io.StreamTokenizer;publicclassMain{@SuppressWarnings("uncheck")publicstaticvoidmain(String[]args)throwsIOException{StreamTok
  • 2023-10-23SP13015 CNTPRIME -Counting Primes
    \(CNTPRIME\)-\(Counting\)\(Primes\)题目描述给定初始序列\(A\),然后对原序列有以下操作:操作\(1\):0lrv将区间\([l,r]\)全赋值为\(v\)。操作\(2\):1lr查询区间\([l,r]\)注意:多组测试和特殊的输出。题目分析:就是一道板子题,首先我们先用欧拉筛筛出值域\([2,10^6]\)内的
  • 2023-10-22洛谷题解 | AT_abc321_c Primes on Interval
    目录题目翻译题目描述输入格式输出格式样例#1样例输入#1样例输出#1样例#2样例输入#2样例输出#2样例#3样例输入#3样例输出#3题目简化题目思路AC代码题目翻译【题目描述】你决定用素数定理来做一个调查.众所周知,素数又被称为质数,其含义就是除了数字一和本身之外不能