给定两个整数L和U,你需要在闭区间[L,U]内找到距离最接近的两个相邻质数C1和C2(即C2-C1是最小的),如果存在相同距离的其他相邻质数对,则输出第一对. 同时,你还需要找到距离最远的两个相邻质数D1和D2(即D1-D2是最大的),如果存在相同距离的其他相邻质数对,则输出第一对. 输入格式 每行输入两个整数L和U,其中L和U的差值不会超过1000000. 输出格式 对于每个L和U ,输出一个结果,结果占一行. 结果包括距离最近的相邻质数对和距离最远的相邻质数对.(具体格式参照样例) 如果L和…
#include <bits/stdc++.h> using namespace std; , M = ; int v[M]; long long prime[N],prim[N]; ; int inint(int n) { ;i<=n;i++) { if(!v[i]) { v[i]=i; prim[cun++]=i; } ;j<cun;j++) { if(prim[j]>n/i||prim[j]>v[i])break; v[i*prim[j]]= prim[j]; }…
质数距离 题目TP门 题目描述 给定两个整数L和R,你需要在闭区间[L,R]内找到距离最接近的两个相邻质数C1和C2(即C2-C1是最小的),如果存在相同距离的其他相邻质数对,则输出第一对. 同时,你还需要找到距离最远的两个相邻质数D1和D2(即D1-D2是最大的),如果存在相同距离的其他相邻质数对,则输出第一对. 输入格式 每行输入两个整数L和R,其中L和R的差值不会超过1000000.' 输出格式 对于每个L和R ,输出一个结果,结果占一行. 结果包括距离最近的相邻质数对和距离最远的相邻质数…
给定整数 N ,试把阶乘 N! 分解质因数,按照算术基本定理的形式输出分解结果中的 pipi 和 cici 即可. 输入格式 一个整数N. 输出格式 N! 分解质因数后的结果,共若干行,每行一对pi,cipi,ci,表示含有pciipici项.按照pipi从小到大的顺序输出. 数据范围 1≤N≤1061≤N≤106 输入样例: 5 输出样例: 2 3 3 1 5 1 筛法应用:https://www.luogu.org/blog/top-oier/xian-xing-shai-fa-qiu-su…
#include <iostream> #include <algorithm> using namespace std; ; int primes[N], cnt; bool st[N]; void get_primes(int n) { //n只会被最小质因子筛掉 ; i <= n; i ++ ) { if (!st[i])//如果是质数 primes[cnt ++ ] = i; ; primes[j] <= n / i; j ++ ) {//从小到大枚举的质数 s…
给定一个N行M列的01矩阵A,A[i][j] 与 A[k][l] 之间的曼哈顿距离定义为: dist(A[i][j],A[k][l])=|i−k|+|j−l|dist(A[i][j],A[k][l])=|i−k|+|j−l| 输出一个N行M列的整数矩阵B,其中: B[i][j]=min1≤x≤N,1≤y≤M,A[x][y]=1dist(A[i][j],A[x][y])B[i][j]=min1≤x≤N,1≤y≤M,A[x][y]=1⁡dist(A[i][j],A[x][y]) 输入格式 第一行两个…
题目描述 给定一张 n 个点的带权无向图,点从 0∼n−1 标号,求起点 0 到终点 n−1 的最短 Hamilton 路径. Hamilton 路径的定义是从 0 到 n−1 不重不漏地经过每个点恰好一次. 输入格式 第一行输入整数 n. 接下来 n 行每行 n 个整数,其中第 i 行第 j 个整数表示点 i 到 j 的距离(记为 a[i,j]). 对于任意的 x,y,z数据保证 a[x,x]=0,a[x,y]=a[y,x]a[x,x]=0,a[x,y]=a[y,x] 并且 a[x,y]+a[…
解题关键: 注意下标 #include<bits/stdc++.h> #define maxn 10000002 using namespace std; typedef long long ll; ]; ]; int sieve(){ ; fill(is_prime,is_prime+maxn,true); is_prime[]=is_prime[]=false; ;i<maxn;i++){ if(is_prime[i]){ prime[p++]=i; *i;j<=maxn;j+…
Analysis 就是一个裸的广搜,每次从是1的点开始找就好啦~~~ #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<queue> #define maxn 1010 using namespace std; inline int read() { ; ; char c=getchar(); ; )+(x<<)+c-'…
给定N个字符串S1,S2…SNS1,S2…SN,接下来进行M次询问,每次询问给定一个字符串T,求S1S1-SNSN中有多少个字符串是T的前缀. 输入字符串的总长度不超过106106,仅包含小写字母. 输入格式 第一行输入两个整数N,M. 接下来N行每行输入一个字符串SiSi. 接下来M行每行一个字符串T用以询问. 输出格式 对于每个询问,输出一个整数表示答案. 每个答案占一行. 输入样例: 3 2 ab bc abc abc efg 输出样例: 2 0 题意:让你计算前面有多少个字符串是查询的这…