随笔分类 -  数论

摘要:DFT : 1 #include <cstdio> 2 #include <iostream> 3 #include <cmath> 4 #include <complex> 5 typedef double db; 6 typedef long long ll; 7 8 #define com c 阅读全文
posted @ 2021-01-27 10:58 JamZF 阅读(180) 评论(0) 推荐(0)
摘要:java代码: 1 import java.math.BigInteger; 2 import java.util.Scanner; 3 4 public class Main 5 { 6 public static void solve(int n) 7 { 8 BigInteger N, p1, 阅读全文
posted @ 2020-12-25 22:40 JamZF 阅读(177) 评论(0) 推荐(0)
摘要:题目链接:https://codeforces.ml/gym/102428/attachments/download/9820/statements-en.pdf 题意:构造一个多项式使得外星人编号的函数值小于零,人类的编号函数值大于零。 思路:零点存在问题,我们只要找出字符串中有多少A-H或者H- 阅读全文
posted @ 2020-10-02 19:11 JamZF 阅读(220) 评论(0) 推荐(1)
摘要:1 b[1]=1; 2 for(int i=1;i<=tot;i++){ 3 for(int j=i+1;j>=1;j--)b[j]=b[j-1]; //往左移 4 for(int j=1;j<=i+1;j++)b[j-1]-=a[i]*b[j];//低幂=低幂-高幂系数*零点值 5 for(int 阅读全文
posted @ 2020-10-02 18:59 JamZF 阅读(394) 评论(0) 推荐(1)
摘要:题目链接:https://vjudge.net/problem/HDU-5950 思路: 构造矩阵,然后利用矩阵快速幂。 1 #include <bits/stdc++.h> 2 #include <time.h> 3 #include <set> 4 #include <map> 5 #inclu 阅读全文
posted @ 2020-09-10 17:45 JamZF 阅读(253) 评论(0) 推荐(1)
摘要:题目链接:https://vjudge.net/problem/Gym-102220G 题意:在水平直角坐标系中有n个矩形,你可以将矩形沿着平行于X轴和Y轴水平移动,问至少经过几次移动可以使得所有的矩形都有公共顶点。 思路:可以把每一个矩形看成一段线段,对线段进行移动,沿着平行于X轴和Y轴移动算法是 阅读全文
posted @ 2020-09-05 20:07 JamZF 阅读(245) 评论(0) 推荐(1)
摘要:线性基: 1 inline void insert(long long x) { 2 for (int i = 55; i + 1; i--) { 3 if (!(x >> i)) // x的第i位是0 4 continue; 5 if (!p[i]) { 6 p[i] = x; 7 break; 阅读全文
posted @ 2020-09-04 16:14 JamZF 阅读(108) 评论(0) 推荐(0)
摘要:费大马定理: 奇偶数列法则: 经典例题:HDU——6441 1 #include <bits/stdc++.h> 2 #include <time.h> 3 #include <set> 4 #include <map> 5 #include <stack> 6 #include <cmath> 7 阅读全文
posted @ 2020-09-03 13:56 JamZF 阅读(228) 评论(0) 推荐(0)
摘要:题目链接:https://vjudge.net/problem/HDU-1124#author=0 题意:求N!末尾零的个数。 思路:相当于求10的个数那么就是求因子2*5个数,因为5肯定比2那么只要求5的个数,5的个数其实就是5^1+5^2+......+5^n,那么sum+=n/5。 1 #in 阅读全文
posted @ 2020-08-29 14:27 JamZF 阅读(122) 评论(0) 推荐(0)
摘要:题目链接:https://vjudge.net/problem/Gym-102309C 题意:给定蔡徐坤投篮的位置和篮筐的位置以及最大初速度,求一个初速度和时间。 思路:一开始我以为要用到二分,后面仔细一想不用这么麻烦,题目限制了最大初速度,但又保证一定存在解,那么我们就直接可以用给定的初速度,然后 阅读全文
posted @ 2020-08-29 11:46 JamZF 阅读(203) 评论(0) 推荐(1)
摘要:1 #include<iostream> 2 #include<cstring> 3 #include<cstdio> 4 #include<algorithm> 5 #include<cmath> 6 using namespace std; 7 typedef long long LL; 8 L 阅读全文
posted @ 2020-08-21 21:17 JamZF 阅读(166) 评论(0) 推荐(1)
摘要:题目链接:https://www.luogu.com.cn/problem/P2522 题意:对于给出的 n 个询问,每次求有多少个数对 (x,y),满足 gcd(x,y)=k,其中(a<=x<=b,c<=y<=d) 思路: 1 //#include<bits/stdc++.h> 2 #includ 阅读全文
posted @ 2020-08-20 13:12 JamZF 阅读(80) 评论(0) 推荐(1)
摘要:1 #include<bits/stdc++.h> 2 using namespace std; 3 const int maxn=1e5+5; 4 bool isprime[maxn]; 5 int prime[maxn]; 6 int mu[maxn]; 7 int cnt=0; 8 void 阅读全文
posted @ 2020-08-19 15:16 JamZF 阅读(98) 评论(0) 推荐(1)
摘要:1 long long ans = n * k; 2 for (long long l = 1, r; l <= n; 3 l = r + 1) { //此处l意同i,r意同j,下个计算区间的l应为上个区间的r+1 4 if (k / l != 0) 5 r = min(k / (k / l), n 阅读全文
posted @ 2020-08-19 14:30 JamZF 阅读(154) 评论(0) 推荐(1)
摘要:题目传送门:https://vjudge.net/problem/HDU-2289 题意:有一个上口小于底部的圆台形水杯,告诉我们水的体积求水高度。 思路:利用高中数学知识求rr然后二分求h,具体化简过程见下图。 1 //#include<bits/stdc++.h> 2 #include<time 阅读全文
posted @ 2020-08-19 14:02 JamZF 阅读(147) 评论(0) 推荐(1)
摘要:题目传送门:https://vjudge.net/problem/HDU-1028 思路:整数拆分构造母函数的模板题 1 //#include<bits/stdc++.h> 2 #include<time.h> 3 #include <set> 4 #include <map> 5 #include 阅读全文
posted @ 2020-08-18 22:31 JamZF 阅读(104) 评论(0) 推荐(1)
摘要:互质 情况: 1 #include <cstdio>//互质 2 int exGcd(int a,int b,int &x,int &y) 3 { 4 if(b == 0) 5 { 6 x = 1,y = 0; 7 return a; 8 } 9 int d = exGcd(b,a%b,y,x); 阅读全文
posted @ 2020-08-18 16:31 JamZF 阅读(170) 评论(0) 推荐(1)
摘要:1.针对p为素数情况: 1 #include<iostream> 2 #include<algorithm> 3 #include<cstdio> 4 #define ed 100005 5 using namespace std; 6 int k,n,m,p; 7 long long a[ed], 阅读全文
posted @ 2020-08-18 16:03 JamZF 阅读(182) 评论(0) 推荐(1)
摘要:#include <bits/stdc++.h> using namespace std; typedef long long ll; int t; ll n, p; ll w; struct num { //建立一个复数域 ll x, y; }; num mul(num a, num b, ll  阅读全文
posted @ 2020-08-15 21:57 JamZF 阅读(208) 评论(0) 推荐(1)
摘要:#include <bits/stdc++.h> #define int long long using namespace std; const int P = 998244353; int i2 = 499122177, i6 = 166374059; struct data { data() 阅读全文
posted @ 2020-08-14 21:50 JamZF 阅读(166) 评论(0) 推荐(1)