
数学相关---质数与约数
汪
小松萘
厉害的人可真多啊
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
CodeForces - 1333F Kate and imperfection (贪心,GCD)
???? ???? ????题意:1到n 的Ii 值定义为:从该数组中选择i个数字,两两之间求gcd的最大值,让这个最大值最小。因为求的是两个数gcd的最小的最大值,所以我们先尽可能的拿素数,素数拿完以后,再拿一个数,必然有至少一对不互质,所以我们要尽量使答案变小,即小的先拿,最后就可以得到从小到大输出的结论。int mx[MAXN];signed main(){ int n;cin>&g...原创 2020-04-14 11:31:08 · 283 阅读 · 0 评论 -
CodeForces - 1081E Missing Numbers (平方数,构造)
???????? ???????? ????????假设我们已经构造出了前2i - 2项,目前构造第 2i - 1项,而2i项已知,我们新插入的2i-1项要与他们满足如下关系#define int llint v[MX];signed main(){ int n;cin>>n; n>>=1; memset(v,-1,sizeof(v)); rpp(i,n) c...原创 2020-04-12 21:33:23 · 253 阅读 · 0 评论 -
CodeForces - 1089F Fractions (同余方程,互质数)
???????? ???????? ????????第二个样例给了一点思路#define int llinline void solve(){ int n;cin>>n; int flag=0; for(int i=2;i*i<=n;++i) { if(flag) break; if(n%i==0&&__gcd(i,n/...原创 2020-03-30 13:50:21 · 257 阅读 · 0 评论 -
CodeForces - 1114C Trailing Loves (or L'oeufs?) (质因子,阶乘分解)
???? ???? ????关于阶乘分解void solve(){ ll n, b;cin >> n >> b; //处理出b的所有素因子并记录下次数x,检查该素因子在n!中的幂次y //对所有素因子取一个最小值 vector<pair<ll,ll> > prime; for (ll i = 2; i * i <=...原创 2020-03-06 20:00:15 · 142 阅读 · 0 评论 -
HDU - 4630 No Pain No Game(离线,树状数组)
????♂️ ????♂️ ????♂️题意:一个长为n的数组,m次查询,询问(l,r)中两个数字之间GCD(l,r中任意一对,只要GCD最大即可)(1)处理出每个数字的约数,GCD一定是在这个区间中出现两次即以上的最大的那个约数(2)对于查询按照l排序之后,我们再从后往前更新最大约数,如果这个约数在该位置之后出现过,我们就在他出现的后一个位置更新他(查询时查询r)(3)杭电数据好像有误,如11...原创 2020-02-26 10:47:13 · 247 阅读 · 0 评论 -
CodeForces - 1133D Zero Quantity Maximization(精度,GCD)
???? ???? ????就是直接拿double会有精度问题,所以我们存下-b/a的最简形式int a[MAXN],b[MAXN];map<pair<int,int>,int>mp;int gcd(int x,int y){return (y==0?x:gcd(y,x%y));}void solve(){ int n;cin>>n; rpp(i,n)...原创 2020-02-22 16:31:39 · 229 阅读 · 0 评论 -
2020牛客寒假算法基础集训营6 E - 立方数(质因子,思维)
???? ???? ????很好玩的一道题int prime[MAXN],cnt;bool st[MAXN];//为假,是素数void get_prime(int n){ cnt=0; for(int i = 2; i<= n; ++i) { if(!st[i]) prime[cnt++] = i; for(int j=0;prime[j]*...原创 2020-02-16 15:22:11 · 299 阅读 · 4 评论 -
CodeForces - 1295D Same GCDs (欧拉函数,GCD性质)
???? ???? ????inline ll eular(ll n){ ll ans=n; for(int i=2; 1ll*i*i<= n; i++) { if(n%i==0) { ans-=ans/i; while(n%i==0) n/=i; } } if(n&...原创 2020-02-13 17:42:31 · 247 阅读 · 2 评论 -
UVa 11256 - Repetitive Multiple(循环节)
???? ???? ????#define int llll gcd(ll a,ll b){return b==0?a : gcd(b,a%b);}char s[111];int mul[111];signed main(){ mul[0]=1; rpp(i,9) mul[i]=mul[i-1]*10; int T;cin>>T; while(T--) ...原创 2020-02-12 22:05:28 · 151 阅读 · 0 评论 -
AcWing 199. 余数之和 (取模运算,公式化简)
???? ???? ????signed main(){ int n,k; cin>>n>>k; ll ans=1ll*n*k; for(int l =1;l<=n;) { if(k/l==0) break; int r = min((k/(k/l)),n); ans -= 1ll*(k / l) *...原创 2020-02-05 16:24:12 · 458 阅读 · 0 评论 -
AcWing 198. 反素数 (质因子,约数性质)
???? ???? ????int ps[10] = {2,3,5,7,11,13,17,19,23,29};//前十个素数int sum = 0,minx,n;void dfs(int u,int pre,int p ,int s)//现在搜到哪个质因子,前一个质因子有多少,计算出的x为多少,约数个数为多少{ if(s>sum||(s==sum && p < mi...原创 2020-02-03 10:44:52 · 226 阅读 · 0 评论 -
AcWing 197. 阶乘分解 (线性筛)
???? ???? ????signed main(){ int n;cin>>n; get_prime(n); rep(i,cnt) { int p = prime[i]; int t = n,c= 0; while(t) { c+=(t/p); t/=...原创 2020-02-02 21:45:39 · 246 阅读 · 0 评论 -
AcWing 196. 质数距离 (线性筛)
???? ???? ????#define int llint prime[MAXN],cnt;bool st[MAXN];//为假,是素数void get_prime(int n){ memset(st,false,sizeof(st)); cnt=0; for(int i = 2; i<= n; ++i) { if(!st[i]) prime[c...原创 2020-02-02 11:11:47 · 231 阅读 · 0 评论